/* =====================================================
   三光パートナーズ オーナー様向けページ共通（空き家管理・賃貸管理）
   styles.css の後に読み込む
   ===================================================== */
.ow-wrap { max-width: 1120px; margin: 0 auto; padding: 0 var(--pad); }
.ow-sec { padding: 88px 0; }
.ow-sec.cream { background: var(--bg-cream); }
.ow-sec.warm { background: #fbf8f2; }
.ow-head { text-align: center; margin-bottom: 48px; }
.ow-head .en { display: block; font-family: var(--font-mincho); font-style: italic; font-size: 13px; letter-spacing: .3em; color: var(--gold-2); margin-bottom: 12px; }
.ow-head h2 { font-family: var(--font-jp); font-weight: 700; font-size: 32px; line-height: 1.55; color: var(--navy); letter-spacing: .03em; text-wrap: balance; }
.ow-head p { margin: 16px auto 0; max-width: 700px; font-size: 16px; line-height: 2; color: var(--text-2); }
.ow-mk { background: linear-gradient(transparent 62%, rgba(217,195,154,.65) 62%); padding: 0 2px; }

/* ---------- Hero ---------- */
.ow-hero { background: #fbf8f2; border-bottom: 1px solid var(--line); overflow: hidden; }
.ow-hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; padding: 64px 0 80px; }
.ow-hero .tag { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--line-2); color: var(--navy); font-size: 13px; font-weight: 700; padding: 7px 16px; border-radius: 999px; margin-bottom: 24px; letter-spacing: .04em; }
.ow-hero .tag::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
.ow-hero h1 { font-family: var(--font-jp); font-weight: 900; font-size: 44px; line-height: 1.45; color: var(--navy); letter-spacing: .02em; margin-bottom: 22px; text-wrap: pretty; }
.ow-hero .lead { font-size: 16.5px; line-height: 2; color: var(--text-2); margin-bottom: 28px; }
.ow-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.ow-chip { background: #fff; border: 1px solid var(--line); padding: 12px 18px; min-width: 150px; }
.ow-chip .c { font-size: 12px; color: var(--text-3); font-weight: 700; letter-spacing: .04em; }
.ow-chip .v { font-size: 22px; font-weight: 900; color: var(--navy); line-height: 1.35; }
.ow-chip .v small { font-size: 12.5px; font-weight: 500; color: var(--text-3); margin-left: 2px; }
.ow-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.ow-btn-tel { display: inline-flex; flex-direction: column; justify-content: center; background: var(--gold); color: #fff; padding: 10px 28px; min-height: 64px; font-weight: 700; transition: background .2s; }
.ow-btn-tel:hover { background: var(--gold-2); }
.ow-btn-tel .s { font-size: 12px; opacity: .92; letter-spacing: .06em; }
.ow-btn-tel .n { font-size: 23px; letter-spacing: .03em; line-height: 1.25; }
.ow-btn-form { display: inline-flex; align-items: center; justify-content: center; background: var(--navy); color: #fff; padding: 10px 28px; min-height: 64px; font-weight: 700; font-size: 15.5px; gap: 12px; transition: background .2s; }
.ow-btn-form:hover { background: var(--navy-2); }
.ow-btn-form::after { content: ''; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.ow-reassure { margin-top: 16px; font-size: 14px; color: var(--text-3); line-height: 1.8; }
.ow-hero-photo { position: relative; aspect-ratio: 4 / 5; background-size: cover; background-position: center; background-color: var(--bg-cream-2); }
.ow-float { position: absolute; left: -32px; bottom: 40px; background: #fff; box-shadow: 0 14px 36px rgba(14,42,71,.18); padding: 16px 20px; min-width: 240px; }
.ow-float .t { font-size: 11.5px; color: var(--text-3); font-weight: 700; letter-spacing: .08em; margin-bottom: 8px; }
.ow-float .r { display: flex; align-items: center; gap: 10px; font-weight: 700; color: var(--navy); font-size: 15px; line-height: 1.5; }
.ow-ok { width: 24px; height: 24px; border-radius: 50%; background: #3a7d5a; position: relative; flex-shrink: 0; }
.ow-ok::after { content: ''; position: absolute; left: 9px; top: 5px; width: 5px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); }
.ow-float .m { font-size: 12px; color: var(--text-3); margin-top: 6px; }

/* ---------- Worries (speech bubbles) ---------- */
.ow-bubbles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 20px; }
.ow-bubble { position: relative; background: #fff; border: 1px solid var(--line); padding: 22px 24px; font-size: 16px; line-height: 1.8; color: var(--text); font-weight: 500; }
.ow-bubble::after { content: ''; position: absolute; left: 30px; bottom: -9px; width: 16px; height: 16px; background: #fff; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transform: rotate(45deg); }
.ow-answer { margin-top: 60px; text-align: center; }
.ow-answer .down { width: 1px; height: 44px; background: var(--gold); margin: 0 auto 22px; position: relative; }
.ow-answer .down::after { content: ''; position: absolute; left: -5px; bottom: 0; width: 10px; height: 10px; border-right: 1px solid var(--gold); border-bottom: 1px solid var(--gold); transform: rotate(45deg); }
.ow-answer p { font-size: 25px; font-weight: 700; color: var(--navy); line-height: 1.7; }

/* ---------- Timeline (what happens if left) ---------- */
.ow-timeline { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 2px solid var(--navy); }
.ow-tl { padding: 28px 22px 0; border-right: 1px dashed var(--line-2); position: relative; }
.ow-tl:last-child { border-right: none; }
.ow-tl::before { content: ''; position: absolute; top: -9px; left: 22px; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 2px solid var(--navy); }
.ow-tl.bad::before { background: var(--accent-red); border-color: var(--accent-red); }
.ow-tl .when { font-size: 14px; font-weight: 900; color: var(--gold-2); letter-spacing: .08em; margin-bottom: 8px; }
.ow-tl h3 { font-size: 18px; font-weight: 700; color: var(--navy); line-height: 1.55; margin-bottom: 8px; }
.ow-tl p { font-size: 14.5px; line-height: 1.9; color: var(--text-2); }
.ow-note { margin-top: 32px; background: #fff; border: 1px solid var(--line); padding: 24px 28px; font-size: 15px; line-height: 1.95; color: var(--text-2); }
.ow-note b { color: var(--navy); }

/* ---------- Service cards ---------- */
.ow-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ow-cards.four { grid-template-columns: repeat(4, 1fr); }
.ow-card { background: #fff; border: 1px solid var(--line); padding: 30px 26px 28px; }
.ow-card .no { font-family: var(--font-mincho); font-size: 13px; color: var(--gold-2); letter-spacing: .2em; font-weight: 700; margin-bottom: 10px; }
.ow-card .ic { width: 52px; height: 52px; background: var(--bg-cream); color: var(--navy); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.ow-card .verb { font-family: var(--font-mincho); font-size: 30px; font-weight: 700; color: var(--navy); margin-bottom: 4px; letter-spacing: .06em; }
.ow-card h3 { font-size: 19px; font-weight: 700; color: var(--navy); margin-bottom: 10px; line-height: 1.5; }
.ow-card .sub { font-size: 13px; color: var(--text-3); margin-bottom: 14px; }
.ow-card p { font-size: 15px; line-height: 1.9; color: var(--text-2); }
.ow-card ul { list-style: none; }
.ow-card li { font-size: 15px; padding: 7px 0 7px 24px; position: relative; line-height: 1.7; border-bottom: 1px dashed var(--line); }
.ow-card li:last-child { border-bottom: none; }
.ow-card li::before { content: ''; position: absolute; left: 3px; top: 13px; width: 5px; height: 10px; border-right: 2px solid var(--gold); border-bottom: 2px solid var(--gold); transform: rotate(45deg); }

/* ---------- Before / After ---------- */
.ow-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ow-ba > div { background: #fff; border: 1px solid var(--line); }
.ow-ba h3 { font-size: 17px; font-weight: 700; padding: 14px 24px; letter-spacing: .04em; }
.ow-ba .before h3 { background: #e9e6df; color: var(--text-2); }
.ow-ba .after h3 { background: var(--navy); color: #fff; }
.ow-ba ul { list-style: none; padding: 16px 24px 22px; }
.ow-ba li { font-size: 15px; padding: 9px 0; border-bottom: 1px dashed var(--line); line-height: 1.75; }
.ow-ba li:last-child { border-bottom: none; }
.ow-ba .before li { color: var(--text-2); }
.ow-ba .after li { color: var(--navy); font-weight: 500; }

/* ---------- Quiz / checker ---------- */
.ow-quiz { max-width: 780px; margin: 0 auto; background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-card); }
.ow-q { padding: 28px 32px; border-bottom: 1px solid var(--line); }
.ow-q .qn { font-size: 12px; color: var(--gold-2); font-weight: 900; letter-spacing: .15em; margin-bottom: 6px; }
.ow-q .qt { font-size: 18px; font-weight: 700; color: var(--navy); margin-bottom: 16px; line-height: 1.6; }
.ow-opts { display: flex; gap: 10px; flex-wrap: wrap; }
.ow-opt { flex: 1 1 220px; padding: 15px 18px; border: 1.5px solid var(--line-2); background: #fff; font: inherit; font-size: 15.5px; font-weight: 700; color: var(--navy); cursor: pointer; text-align: left; transition: all .15s; line-height: 1.5; }
.ow-opt:hover { border-color: var(--navy); }
.ow-opt[aria-pressed="true"] { border-color: var(--navy); background: var(--navy); color: #fff; }
.ow-opts.multi .ow-opt { flex: 1 1 100%; padding-left: 50px; position: relative; }
.ow-opts.multi .ow-opt::before { content: ''; position: absolute; left: 18px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border: 1.5px solid var(--line-2); background: #fff; }
.ow-opts.multi .ow-opt[aria-pressed="true"]::before { border-color: #fff; }
.ow-opts.multi .ow-opt[aria-pressed="true"]::after { content: ''; position: absolute; left: 24px; top: 50%; margin-top: -7px; width: 5px; height: 10px; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(45deg); }
.ow-q.dim { opacity: .35; pointer-events: none; }
.ow-result { padding: 28px 32px; background: var(--bg-cream); }
.ow-result .wait { font-size: 15px; color: var(--text-3); text-align: center; }
.ow-result .lbl { font-size: 12px; color: var(--gold-2); font-weight: 900; letter-spacing: .15em; margin-bottom: 6px; }
.ow-result .nm { font-size: 24px; font-weight: 900; color: var(--navy); line-height: 1.4; }
.ow-result .pr { font-size: 16px; font-weight: 700; color: var(--navy); margin: 4px 0 10px; }
.ow-result p { font-size: 15px; line-height: 1.9; color: var(--text-2); margin-bottom: 16px; }
.ow-result .ow-actions a { min-height: 54px; }

/* ---------- Plans ---------- */
.ow-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: stretch; }
.ow-plans.two { grid-template-columns: 1fr 1fr; max-width: 920px; margin: 0 auto; }
.ow-plan { background: #fff; border: 1px solid var(--line); padding: 34px 28px 28px; display: flex; flex-direction: column; position: relative; }
.ow-plan.rec { border: 2px solid var(--gold); }
.ow-plan .badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--gold); color: #fff; font-size: 12.5px; font-weight: 700; padding: 5px 18px; white-space: nowrap; letter-spacing: .06em; }
.ow-plan .nm { font-size: 20px; font-weight: 900; color: var(--navy); margin-bottom: 6px; }
.ow-plan .fr { font-size: 14px; color: var(--text-3); margin-bottom: 18px; line-height: 1.7; min-height: 48px; }
.ow-plan .pr { font-size: 38px; font-weight: 900; color: var(--navy); line-height: 1.15; }
.ow-plan .pr small { font-size: 14px; font-weight: 500; color: var(--text-3); margin-left: 4px; }
.ow-plan .pn { font-size: 13px; color: var(--text-3); margin: 6px 0 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.ow-plan ul { list-style: none; flex: 1; }
.ow-plan li { font-size: 15px; padding: 7px 0 7px 24px; position: relative; line-height: 1.7; }
.ow-plan li::before { content: ''; position: absolute; left: 3px; top: 13px; width: 5px; height: 10px; border-right: 2px solid var(--gold); border-bottom: 2px solid var(--gold); transform: rotate(45deg); }
.ow-plan .go { margin-top: 22px; display: block; text-align: center; padding: 14px; border: 1.5px solid var(--navy); color: var(--navy); font-weight: 700; font-size: 15px; transition: all .2s; }
.ow-plan .go:hover, .ow-plan.rec .go { background: var(--navy); color: #fff; }
.ow-options { margin-top: 28px; background: #fff; border: 1px solid var(--line); }
.ow-options table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ow-options th, .ow-options td { padding: 15px 22px; border-bottom: 1px solid var(--line); text-align: left; line-height: 1.8; }
.ow-options th { background: var(--bg-cream); color: var(--navy); width: 38%; font-weight: 700; }
.ow-options tr:last-child th, .ow-options tr:last-child td { border-bottom: none; }
.ow-promises { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.ow-promise { background: #fff; border: 1px solid var(--line); padding: 22px 20px; text-align: center; }
.ow-promise b { display: block; font-size: 17px; color: var(--navy); margin-bottom: 6px; }
.ow-promise span { font-size: 14px; color: var(--text-3); line-height: 1.8; }
.ow-fine { font-size: 13px; color: var(--text-3); text-align: center; margin-top: 18px; line-height: 1.9; }

/* ---------- Report mock ---------- */
.ow-report { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.ow-sheet { background: #fff; border: 1px solid var(--line-2); box-shadow: var(--sh-card); padding: 22px; font-size: 12.5px; }
.ow-sheet .top { display: flex; justify-content: space-between; gap: 12px; border-bottom: 2px solid var(--navy); padding-bottom: 8px; margin-bottom: 12px; font-weight: 700; color: var(--navy); }
.ow-sheet .top span:last-child { color: var(--text-3); font-weight: 500; }
.ow-sheet .photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 12px; }
.ow-sheet .ph { aspect-ratio: 4 / 3; background-size: cover; background-position: center; background-color: #efe8db; background-image: repeating-linear-gradient(135deg, #ebe3d3 0 10px, #f3eee4 10px 20px); display: flex; align-items: flex-end; }
.ow-sheet .ph span { background: rgba(14,42,71,.75); color: #fff; font-size: 10px; padding: 2px 6px; }
.ow-sheet table { width: 100%; border-collapse: collapse; }
.ow-sheet td { border-bottom: 1px solid var(--line); padding: 7px 4px; }
.ow-sheet td:last-child { text-align: right; color: #3a7d5a; font-weight: 700; }
.ow-sheet td.warn { color: var(--gold-2) !important; }
.ow-sheet .memo { margin-top: 10px; background: var(--bg-cream); padding: 10px 12px; line-height: 1.75; color: var(--text-2); }
.ow-report-copy h3 { font-size: 28px; font-weight: 900; color: var(--navy); line-height: 1.55; margin-bottom: 18px; }
.ow-report-copy p { font-size: 16px; color: var(--text-2); line-height: 2; margin-bottom: 14px; }
.ow-cap { font-size: 12.5px; color: var(--text-3); margin-top: 10px; text-align: center; }

/* ---------- Message ---------- */
.ow-msg { display: grid; grid-template-columns: 280px 1fr; gap: 52px; align-items: start; max-width: 980px; margin: 0 auto; }
.ow-msg .pic { position: relative; aspect-ratio: 4 / 5; background: var(--navy); display: flex; align-items: center; justify-content: center; color: var(--gold-soft); font-family: var(--font-mincho); font-size: 44px; letter-spacing: .1em; overflow: hidden; }
.ow-msg .pic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ow-msg .who { margin-top: 12px; font-size: 14px; color: var(--text-2); text-align: center; line-height: 1.7; }
.ow-msg .en { font-family: var(--font-mincho); font-style: italic; font-size: 13px; letter-spacing: .3em; color: var(--gold-2); display: block; margin-bottom: 12px; }
.ow-msg h3 { font-family: var(--font-mincho); font-size: 28px; color: var(--navy); line-height: 1.6; margin-bottom: 20px; letter-spacing: .04em; }
.ow-msg p { font-size: 16px; line-height: 2.05; color: var(--text); margin-bottom: 16px; }

/* ---------- Flow ---------- */
.ow-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; counter-reset: owf; }
.ow-step { background: #fff; border: 1px solid var(--line); padding: 26px 20px; counter-increment: owf; }
.ow-step::before { content: counter(owf); display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 900; font-size: 16px; margin-bottom: 14px; }
.ow-step h3 { font-size: 16.5px; font-weight: 700; color: var(--navy); margin-bottom: 8px; line-height: 1.5; }
.ow-step p { font-size: 14px; line-height: 1.85; color: var(--text-2); }
.ow-step .free { display: inline-block; background: var(--gold); color: #fff; font-size: 11.5px; font-weight: 700; padding: 3px 10px; margin-top: 10px; }

/* ---------- Area ---------- */
.ow-area { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 920px; margin: 0 auto; }
.ow-area > div { background: #fff; border: 1px solid var(--line); padding: 26px 28px; }
.ow-area h3 { font-size: 18px; font-weight: 700; color: var(--navy); margin-bottom: 10px; }
.ow-area p { font-size: 15.5px; line-height: 1.95; color: var(--text-2); }

/* ---------- FAQ ---------- */
.ow-faq { max-width: 880px; margin: 0 auto; }
.ow-faq details { background: #fff; border: 1px solid var(--line); margin-bottom: 10px; }
.ow-faq summary { list-style: none; cursor: pointer; padding: 20px 60px 20px 62px; position: relative; font-size: 16px; font-weight: 700; color: var(--navy); line-height: 1.65; }
.ow-faq summary::-webkit-details-marker { display: none; }
.ow-faq summary::before { content: 'Q'; position: absolute; left: 24px; top: 16px; font-family: var(--font-mincho); font-size: 22px; color: var(--gold-2); }
.ow-faq summary::after { content: ''; position: absolute; right: 26px; top: 26px; width: 10px; height: 10px; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(45deg); transition: transform .2s; }
.ow-faq details[open] summary::after { transform: rotate(-135deg); top: 31px; }
.ow-faq .a { padding: 0 30px 22px 62px; font-size: 15.5px; line-height: 2; color: var(--text-2); position: relative; }
.ow-faq .a::before { content: 'A'; position: absolute; left: 24px; top: -4px; font-family: var(--font-mincho); font-size: 22px; color: var(--navy); }

/* ---------- Final CTA ---------- */
.ow-final { background: var(--navy); color: #fff; padding: 80px 0; }
.ow-final-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; }
.ow-final .en { font-family: var(--font-mincho); font-style: italic; font-size: 13px; letter-spacing: .3em; color: var(--gold-soft); display: block; margin-bottom: 14px; }
.ow-final h2 { font-size: 34px; font-weight: 900; line-height: 1.55; margin-bottom: 16px; }
.ow-final p { color: rgba(255,255,255,.86); font-size: 16px; line-height: 2; }
.ow-final .box { background: #fff; color: var(--text); padding: 34px 32px; }
.ow-final .box .lbl { font-size: 13.5px; font-weight: 700; color: var(--text-3); }
.ow-final .box .tel { display: block; font-size: 38px; font-weight: 900; color: var(--navy); letter-spacing: .02em; line-height: 1.3; margin: 2px 0; }
.ow-final .box .hr { font-size: 13.5px; color: var(--text-3); margin-bottom: 22px; }
.ow-final .box .form { display: block; text-align: center; background: var(--gold); color: #fff; font-weight: 700; padding: 17px; font-size: 16px; transition: background .2s; }
.ow-final .box .form:hover { background: var(--gold-2); }
.ow-final .box .note { font-size: 13px; color: var(--text-3); margin-top: 14px; line-height: 1.85; }

/* ---------- Cross link ---------- */
.ow-cross { display: flex; gap: 24px; align-items: center; justify-content: space-between; background: #fff; border: 1px solid var(--line); padding: 26px 32px; max-width: 920px; margin: 0 auto; }
.ow-cross p { font-size: 15.5px; color: var(--text-2); line-height: 1.85; }
.ow-cross p b { color: var(--navy); }
.ow-cross a { flex-shrink: 0; font-weight: 700; color: var(--navy); border-bottom: 2px solid var(--gold); padding-bottom: 2px; }

/* ---------- Sticky (mobile) ---------- */
.ow-sticky { display: none; }

.ow-bubbles > *, .ow-cards > *, .ow-ba > *, .ow-plans > *, .ow-promises > *, .ow-report > *, .ow-msg > *, .ow-flow > *, .ow-area > *, .ow-final-grid > *, .ow-hero-grid > *, .ow-timeline > * { min-width: 0; }

@media (max-width: 1100px) {
  .ow-cards.four { grid-template-columns: repeat(2, 1fr); }
  .ow-flow { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
  .ow-sec { padding: 56px 0; }
  .ow-head { margin-bottom: 32px; }
  .ow-head h2 { font-size: 23px; }
  .ow-head p { font-size: 15px; }
  .ow-head p br, .ow-hero .lead br { display: none; }
  .ow-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 36px 0 48px; }
  .ow-hero h1 { font-size: 28px; }
  .ow-hero .lead { font-size: 15.5px; }
  .ow-chip { flex: 1 1 calc(50% - 10px); min-width: 0; padding: 10px 14px; }
  .ow-chip .v { font-size: 18px; }
  .ow-actions > a { flex: 1 1 100%; }
  .ow-hero-photo { aspect-ratio: 4 / 3; }
  .ow-float { left: 12px; bottom: 12px; min-width: 0; right: 12px; }
  .ow-bubbles, .ow-cards, .ow-cards.four, .ow-ba, .ow-plans, .ow-plans.two, .ow-promises, .ow-report, .ow-msg, .ow-flow, .ow-area, .ow-final-grid { grid-template-columns: minmax(0, 1fr); }
  .ow-bubble { font-size: 15.5px; }
  .ow-answer p { font-size: 19px; }
  .ow-timeline { grid-template-columns: minmax(0, 1fr); border-top: none; border-left: 2px solid var(--navy); margin-left: 8px; }
  .ow-tl { border-right: none; padding: 0 0 26px 26px; }
  .ow-tl::before { top: 3px; left: -9px; }
  .ow-q, .ow-result { padding: 22px 20px; }
  .ow-plan .fr { min-height: 0; }
  .ow-options table, .ow-options tbody, .ow-options tr { display: block; width: 100%; }
  .ow-options th, .ow-options td { display: block; width: auto; padding: 10px 18px; }
  .ow-options th { border-bottom: none; padding-bottom: 2px; }
  .ow-report { gap: 28px; }
  .ow-report-copy h3 { font-size: 22px; }
  .ow-msg { gap: 24px; }
  .ow-msg .pic { max-width: 220px; width: 100%; margin: 0 auto; }
  .ow-msg h3 { font-size: 22px; }
  .ow-faq summary { font-size: 15px; padding: 18px 48px 18px 52px; }
  .ow-faq summary::before, .ow-faq .a::before { left: 18px; }
  .ow-faq .a { padding: 0 20px 20px 52px; font-size: 15px; }
  .ow-final { padding: 56px 0; }
  .ow-final h2 { font-size: 24px; }
  .ow-final .box { padding: 26px 22px; }
  .ow-final .box .tel { font-size: 31px; }
  .ow-cross { flex-direction: column; align-items: flex-start; padding: 22px; }
  body { padding-bottom: 66px; }
  .ow-sticky { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; box-shadow: 0 -4px 16px rgba(14,42,71,.2); }
  .ow-sticky a { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px 6px; min-height: 64px; font-weight: 700; font-size: 15px; letter-spacing: .04em; line-height: 1.3; }
  .ow-sticky a small { font-size: 11px; font-weight: 500; opacity: .9; }
  .ow-sticky .t { background: var(--gold); color: #fff; }
  .ow-sticky .f { background: var(--navy); color: #fff; }
}
