:root{
  --navy:#16304f;
  --navy2:#24497a;
  --navy-l:#e9eef5;
  --gold:#b08a3e;
  --gold-l:#f5efe2;
  --tel:#e06a1b;
  --tel2:#c9560d;
  --text:#22303f;
  --muted:#5d6b7a;
  --line:#d9dfe6;
  --bg:#ffffff;
  --cream:#f8f6f1;
  --red:#b8382e;
  --serif:"Noto Serif JP","Yu Mincho","YuMincho",serif;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --radius:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--bg);font-size:16px;line-height:1.85;letter-spacing:.02em}
img{max-width:100%;height:auto;display:block}
section[id],.checker,.diag{scroll-margin-top:84px}
h1,h2,h3,.diag__result-title,.worry__message,.mid-cta__text{text-wrap:balance}
a{color:inherit}
b,strong{font-weight:700}
.ico{width:1em;height:1em;flex:none;vertical-align:-.12em}
.sp{display:none}
@media (max-width:768px){.sp{display:inline}.pc{display:none}}

/* demo bar */
.demo-bar{background:#2b2b2b;color:#f3d27a;font-size:12px;text-align:center;padding:6px 12px;line-height:1.5}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:300;background:#fff;border-bottom:1px solid var(--line)}
.header__inner{max-width:1200px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{text-decoration:none;display:flex;flex-direction:column;line-height:1.35}
.logo__sub{font-size:12px;color:var(--muted)}
.logo__main{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--navy);letter-spacing:.04em}
.header__cta{display:flex;align-items:center;gap:14px}
.header__tel{text-decoration:none;display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}
.header__tel-label{font-size:11px;color:#fff;background:var(--tel);padding:1px 8px;border-radius:3px}
.header__tel-num{font-family:var(--serif);font-size:27px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:6px;letter-spacing:.03em}
.header__tel-num .ico{color:var(--tel)}
.header__tel-time{font-size:11px;color:var(--muted)}
.header__tel-sp{display:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:none;cursor:pointer;font-family:inherit;border-radius:var(--radius);transition:transform .15s,box-shadow .15s,background .15s}
.btn:active{transform:translateY(1px)}
.btn--form{background:var(--navy);color:#fff;padding:10px 18px;font-weight:700;flex-direction:column;gap:0;line-height:1.3;font-size:15px}
.btn--form small{font-size:11px;font-weight:400;opacity:.85}
.btn--form:hover{background:var(--navy2)}
.btn--tel{background:linear-gradient(180deg,#ef7d2c,var(--tel));color:#fff;flex-direction:column;gap:2px;padding:12px 22px;box-shadow:0 4px 0 var(--tel2),0 8px 18px rgba(224,106,27,.25);line-height:1.3}
.btn--tel:hover{box-shadow:0 4px 0 var(--tel2),0 10px 22px rgba(224,106,27,.35)}
.btn--tel:active{box-shadow:0 1px 0 var(--tel2)}
.btn__big{font-family:var(--serif);font-size:30px;font-weight:700;display:flex;align-items:center;gap:8px;letter-spacing:.04em}
.btn__small{font-size:12px;opacity:.95}
.btn--form-l{background:#fff;color:var(--navy);border:2px solid var(--navy);padding:12px 20px;font-weight:700;font-size:17px}
.btn--form-l .ico{font-size:24px}
.btn--form-l span{display:flex;flex-direction:column;line-height:1.35}
.btn--form-l small{font-size:12px;font-weight:400;color:var(--muted)}
.btn--form-l:hover{background:var(--navy-l)}
.btn--navy{background:var(--navy);color:#fff;padding:12px 22px;font-weight:700;font-size:16px}
.btn--navy:hover{background:var(--navy2)}
.btn--block{display:flex;width:100%}
.text-link{color:var(--navy2);text-decoration:underline;text-underline-offset:3px}

/* ---------- hero ---------- */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--navy)}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:70% 60%}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(14,32,56,.92) 0%,rgba(14,32,56,.78) 45%,rgba(14,32,56,.2) 80%)}
.hero__inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:64px 20px 72px}
.hero__lead{font-family:var(--serif);font-size:18px;margin:0 0 14px;color:#dfe7f1;border-left:3px solid var(--gold);padding-left:12px;line-height:1.7}
.hero__title{font-family:var(--serif);font-size:44px;line-height:1.45;margin:0 0 18px;font-weight:700;letter-spacing:.04em}
.hero__title-s{font-size:.62em;display:block;color:#e8d29d}
.hero__title em{font-style:normal;color:#f3cf78;border-bottom:3px solid rgba(243,207,120,.6)}
.hero__text{max-width:720px;margin:0 0 22px;font-size:16px;color:#eef2f7}
.hero__text strong{color:#fff;background:linear-gradient(transparent 60%,rgba(224,106,27,.55) 60%)}
.hero__badges{list-style:none;padding:0;margin:0 0 28px;display:flex;gap:12px;flex-wrap:wrap}
.hero__badges li{width:112px;height:112px;border-radius:50%;border:1.5px solid rgba(232,210,157,.8);background:rgba(10,24,44,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-size:20px;font-weight:700;color:#f3cf78;line-height:1.3;text-align:center}
.hero__badges b{font-size:13px;color:#fff;font-weight:500}
.cta-box{display:flex;gap:14px;flex-wrap:wrap;align-items:stretch}
.cta-box .btn--form-l{background:rgba(255,255,255,.96)}

/* ---------- sections ---------- */
.sec{padding:84px 0}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.wrap--narrow{max-width:780px}
.sec__en{text-align:center;font-family:var(--serif);color:var(--gold);letter-spacing:.3em;font-size:13px;margin:0 0 6px}
.sec__title{text-align:center;font-family:var(--serif);font-size:32px;line-height:1.5;color:var(--navy);margin:0 0 14px;letter-spacing:.04em}
.sec__title em{font-style:normal;color:var(--red)}
.sec__lead{text-align:center;color:var(--muted);margin:0 auto 36px}
.caution{background:var(--gold-l);border-left:4px solid var(--gold);padding:16px 20px;border-radius:0 8px 8px 0;margin:32px 0 0;font-size:15px}
.note{font-size:14px;color:var(--muted)}

/* worry */
.sec--worry{background:var(--cream)}
.checklist{list-style:none;padding:0;margin:0 auto;max-width:860px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checklist label{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s;height:100%}
.checklist input{position:absolute;opacity:0;pointer-events:none}
.checklist label::before{content:"";width:24px;height:24px;flex:none;border:2px solid #9aa8b8;border-radius:5px;background:#fff center/16px no-repeat}
.checklist label:has(input:checked){border-color:var(--navy2);background:var(--navy-l)}
.checklist label:has(input:checked)::before{background-color:var(--navy2);border-color:var(--navy2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.5' d='M4 12l5 5L20 6'/%3E%3C/svg%3E")}
.checklist label:has(input:focus-visible){outline:3px solid #9cc0ea}
.checklist b{color:var(--navy)}
.check-result{max-width:860px;margin:18px auto 0;background:var(--navy);color:#fff;border-radius:var(--radius);padding:16px 20px;text-align:center}
.check-result__text{margin:0}
.check-result b{font-size:26px;color:#f3cf78;font-family:var(--serif)}
.worry__message{text-align:center;font-family:var(--serif);font-size:22px;color:var(--navy);margin:36px 0 0;font-weight:700;line-height:1.7}
.worry__message span{display:block;font-family:var(--sans);font-size:15px;color:var(--muted);font-weight:400;margin-top:8px}

/* deadline */
.sec--deadline{background:linear-gradient(180deg,#fff 0%,#fff 100%)}
.deadline{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;margin-top:34px}
.deadline__timeline{display:flex;align-items:stretch;gap:0;flex-direction:column}
.tl{background:var(--navy);color:#fff;border-radius:var(--radius);padding:16px;text-align:center;font-size:14px;line-height:1.6}
.tl--end{background:var(--red)}
.tl__bar{position:relative;text-align:center;padding:26px 0;color:var(--navy);font-family:var(--serif);font-weight:700;font-size:22px}
.tl__bar::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;margin-left:-2px;background:repeating-linear-gradient(180deg,var(--gold) 0 8px,transparent 8px 14px)}
.tl__bar span{position:relative;background:#fff;padding:4px 14px;border:2px solid var(--gold);border-radius:30px}
.deadline__body p{margin:0 0 14px}
.deadline__body b{background:linear-gradient(transparent 62%,#f8dcc3 62%)}
.checker{margin:44px auto 0;max-width:780px;border:2px solid var(--navy);border-radius:14px;padding:26px 28px;background:var(--navy-l)}
.checker__title{display:flex;align-items:center;gap:8px;font-family:var(--serif);color:var(--navy);font-size:21px;margin:0 0 6px}
.checker__lead{margin:0 0 14px;font-size:15px}
.checker__row{display:flex;gap:10px}
.checker__row .input{flex:1}
.checker__result{margin-top:16px;background:#fff;border-radius:var(--radius);padding:16px 18px;border-left:6px solid var(--navy2)}
.checker__result.is-urgent{border-left-color:var(--tel)}
.checker__result.is-over{border-left-color:var(--red)}
.checker__result p{margin:0}
.checker__date{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--navy)}
.checker__days{font-weight:700}
.is-urgent .checker__days{color:var(--tel2)}
.is-over .checker__days{color:var(--red)}
.checker__result .btn{margin-top:12px}
.checker__note{font-size:12.5px;color:var(--muted);margin:12px 0 0}

/* inputs */
.input{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid #b9c4d0;border-radius:8px;background:#fff;color:var(--text)}
.input:focus{outline:none;border-color:var(--navy2);box-shadow:0 0 0 3px rgba(36,73,122,.18)}
textarea.input{resize:vertical}

/* compare */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.compare__col{border-radius:14px;overflow:hidden;border:1.5px solid var(--line);background:#fff}
.compare__col h3{margin:0;padding:16px;text-align:center;color:#fff;font-family:var(--serif);font-size:24px;letter-spacing:.1em}
.compare__col--a h3{background:var(--navy)}
.compare__col--b h3{background:var(--gold)}
.compare__catch{text-align:center;font-weight:700;font-size:17px;padding:18px 16px;margin:0;border-bottom:1px dashed var(--line);color:var(--navy)}
.compare dl{margin:0;padding:8px 22px 20px}
.compare dt{font-size:13px;color:var(--muted);margin-top:12px}
.compare dd{margin:2px 0 0;font-weight:500}

/* diagnosis */
.sec--diag{background:var(--navy);color:#fff}
.sec--diag .sec__title{color:#fff}
.sec--diag .sec__lead{color:#c9d5e3}
.sec--diag .sec__en{color:#e8d29d}
.diag{background:#fff;color:var(--text);border-radius:16px;padding:30px 28px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.diag__progress{height:6px;background:var(--navy-l);border-radius:6px;overflow:hidden;margin-bottom:22px}
.diag__progress span{display:block;height:100%;width:0;background:var(--gold);transition:width .3s}
.diag__q{display:none}
.diag__q.is-active{display:block;animation:fade .3s}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.diag__num{margin:0;color:var(--gold);font-family:var(--serif);font-weight:700}
.diag__text{font-size:20px;font-weight:700;color:var(--navy);margin:4px 0 18px;line-height:1.6}
.diag__opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.diag__opts button{font:inherit;font-weight:700;font-size:16px;padding:16px 8px;border:2px solid var(--navy2);background:#fff;color:var(--navy);border-radius:var(--radius);cursor:pointer;transition:background .15s}
.diag__opts button:hover{background:var(--navy-l)}
.diag__result-label{display:inline-block;margin:0;background:var(--gold-l);color:#7a5c1e;font-size:13px;padding:2px 10px;border-radius:20px}
.diag__result-title{font-family:var(--serif);font-size:23px;font-weight:700;color:var(--navy);margin:10px 0 8px;line-height:1.5}
.diag__result-text{margin:0 0 18px}
.diag__result-cta{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn--tel-s .btn__big{font-size:20px}
.btn--form-s{font-size:16px}
.diag__retry{display:block;margin:16px auto 0;background:none;border:none;color:var(--navy2);text-decoration:underline;cursor:pointer;font:inherit;font-size:14px}
.diag__note{font-size:12.5px;color:var(--muted);margin:10px 0 0}

/* NG */
.sec--ng{background:#fbf5f3}
.ng-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ng-list li{display:flex;gap:14px;background:#fff;border-radius:var(--radius);padding:18px;border:1px solid #ecd9d5}
.ng-list__icon{width:38px;height:38px;flex:none;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}
.ng-list b{color:var(--red);font-size:17px}
.ng-list p{margin:4px 0 0;font-size:14.5px;color:var(--muted)}
.mid-cta{margin:40px auto 0;text-align:center}
.mid-cta__text{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--navy);margin:0 0 14px}

/* reasons */
.reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.reason{border:1px solid var(--line);border-radius:14px;padding:26px;background:#fff;position:relative}
.reason__num{position:absolute;right:20px;top:10px;margin:0;font-family:var(--serif);font-size:40px;color:var(--navy-l);font-weight:700}
.reason h3{font-family:var(--serif);color:var(--navy);font-size:20px;margin:0 0 10px;line-height:1.55;position:relative}
.reason p{margin:0;font-size:15px}

/* lawyer */
.sec--lawyer{background:var(--cream)}
.lawyer{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:start;background:#fff;border-radius:16px;padding:34px}
.lawyer__photo{position:relative;border-radius:10px;overflow:hidden}
.lawyer__photo svg{width:100%;height:auto;display:block}
.lawyer__photo span{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:12px;color:var(--muted);line-height:1.5}
.lawyer__office{margin:0;color:var(--muted);font-size:14px}
.lawyer__name{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--navy);margin:2px 0 0;line-height:1.4}
.lawyer__name span{display:block;font-size:13px;letter-spacing:.2em;color:var(--gold);font-weight:500}
.lawyer__belong{margin:6px 0 14px;font-size:14px}
.lawyer__msg{margin:0 0 16px}
.lawyer__tags{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:8px}
.lawyer__tags li{background:var(--navy-l);color:var(--navy);font-size:13px;padding:3px 12px;border-radius:20px}

/* price */
.price-free{text-align:center;background:var(--navy);color:#fff;border-radius:var(--radius);padding:16px;margin-bottom:20px}
.price-free p{margin:0;font-family:var(--serif);font-size:24px;color:#f3cf78}
.price-free span{font-size:14px}
.price-table{width:100%;border-collapse:collapse;background:#fff}
.price-table th,.price-table td{border:1px solid var(--line);padding:14px 16px;text-align:left;font-size:15px}
.price-table thead th{background:var(--navy-l);color:var(--navy);font-size:14px}
.price-table tbody th{font-weight:500;width:58%}
.price-table td{font-weight:700;color:var(--navy);text-align:right}
.ph{background:repeating-linear-gradient(45deg,#fff7e8 0 6px,#fdf0d8 6px 12px);padding:2px 8px;border-radius:4px;border:1px dashed #d9b46a}
.price-note{font-size:13px;color:var(--muted);margin:12px 0 0}

/* flow */
.sec--flow{background:var(--cream)}
.flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:f}
.flow li{background:#fff;border-radius:12px;padding:20px 16px;position:relative;border-top:4px solid var(--navy2)}
.flow__step{font-family:var(--serif);color:var(--gold);font-weight:700;font-size:14px;letter-spacing:.1em}
.flow h3{font-size:16.5px;color:var(--navy);margin:4px 0 8px;line-height:1.5}
.flow p{margin:0;font-size:14px;color:var(--muted);line-height:1.75}

/* faq */
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:18px 40px 18px 44px;position:relative;font-weight:700;color:var(--navy);line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:6px;top:15px;font-family:var(--serif);color:#fff;background:var(--navy);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px}
.faq summary::after{content:"";position:absolute;right:12px;top:24px;width:10px;height:10px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:28px}
.faq__a{padding:0 12px 20px 44px;position:relative}
.faq__a::before{content:"A";position:absolute;left:6px;top:0;font-family:var(--serif);color:#fff;background:var(--gold);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px}
.faq__a p{margin:0;font-size:15px}

/* contact */
.sec--contact{background:var(--navy-l)}
.contact__or{text-align:center;margin:34px 0 18px;position:relative;font-weight:700;color:var(--navy)}
.contact__or span{background:var(--navy-l);padding:0 14px;position:relative;z-index:1}
.contact__or::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #b9c4d0}
.form{background:#fff;border-radius:16px;padding:30px 28px}
.form__row{margin:0 0 20px;border:none;padding:0}
.form__row>label,.form__row legend{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:6px;color:var(--navy);padding:0}
.req,.opt{font-size:11px;font-weight:700;padding:1px 7px;border-radius:3px}
.req{background:var(--red);color:#fff}
.opt{background:#e3e7ec;color:var(--muted)}
.form__err{display:none;color:var(--red);font-size:13px;margin:6px 0 0}
.form__row.is-error .form__err{display:block}
.form__row.is-error .input{border-color:var(--red);background:#fff8f7}
.form__hint{font-size:13px;color:var(--muted);margin:6px 0 0}
.form__hint.is-set{color:var(--navy);font-weight:700}
.form__hint.is-urgent{color:var(--tel2)}
.form__hint.is-over{color:var(--red)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;border:1.5px solid #b9c4d0;border-radius:30px;padding:7px 14px;font-size:14px;background:#fff;transition:all .15s}
.chips input:checked+span{background:var(--navy2);border-color:var(--navy2);color:#fff}
.chips input:focus-visible+span{outline:3px solid #9cc0ea}
.form__agree label{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text)}
.form__agree input{width:20px;height:20px}
.form__secure{font-size:13px;color:var(--muted);text-align:center;margin:0 0 14px}
.btn--submit{width:100%;background:var(--navy);color:#fff;font-weight:700;font-size:18px;padding:18px;box-shadow:0 4px 0 #0c1d33}
.btn--submit:hover{background:var(--navy2)}
.btn--submit:disabled{opacity:.7;cursor:wait}
.thanks{background:#fff;border-radius:16px;padding:36px 28px;text-align:center}
.thanks:focus{outline:none}
.thanks__icon{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;background:var(--navy);color:#fff;font-size:32px;display:flex;align-items:center;justify-content:center}
.thanks h3{font-family:var(--serif);color:var(--navy);font-size:22px;margin:0 0 10px}
.thanks__demo{font-size:13px;color:var(--muted);background:var(--cream);padding:10px;border-radius:8px}

/* access */
.access{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:start}
.access__map{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#e8ecf0}
.access__map iframe{width:100%;height:100%;border:0;display:block}
.access__info{margin:0;display:grid;grid-template-columns:90px 1fr;border-top:1px solid var(--line)}
.access__info dt,.access__info dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0;font-size:15px}
.access__info dt{color:var(--navy);font-weight:700}

/* footer */
.footer{background:#0f2238;color:#c8d3df;padding:44px 0 36px;font-size:14px;text-align:center}
.footer__name{font-family:var(--serif);font-size:18px;color:#fff;margin:0 0 4px}
.footer__run{margin:0 0 14px}
.footer__run a{color:#e8d29d}
.footer__links{list-style:none;padding:0;margin:0 0 18px;display:flex;justify-content:center;gap:20px}
.footer__links a{color:#c8d3df}
.footer__note{font-size:12px;color:#8fa1b5;max-width:640px;margin:0 auto 12px}
.footer__copy{margin:0;font-size:12px;color:#8fa1b5}

/* ---------- fixed CTA (SP) ---------- */
.fixed-cta{display:none}

/* modal */
.modal{position:fixed;inset:0;z-index:500;background:rgba(8,18,32,.6);display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal__box{background:#fff;border-radius:14px;padding:26px 24px;max-width:380px;width:100%;text-align:center}
.modal__title{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:19px;margin:0 0 10px}
.modal__box p{margin:0 0 10px}
.modal__sub{font-size:13px;color:var(--muted)}

/* debug panel */
.debug{position:fixed;right:12px;bottom:12px;z-index:450;width:340px;max-height:40vh;pointer-events:none;overflow:auto;background:rgba(20,24,30,.94);color:#cfe3ff;font:12px/1.5 Consolas,monospace;border-radius:10px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.debug[hidden]{display:none}
.debug__title{margin:0 0 6px;color:#f3cf78;display:flex;justify-content:space-between;align-items:center;font-family:var(--sans);font-weight:700}
.debug__title button{pointer-events:auto;background:none;border:none;color:#fff;font-size:16px;cursor:pointer}
.debug ol{margin:0;padding-left:18px}
.debug li{margin-bottom:4px;word-break:break-all}
.debug li span{color:#8fe3a8}

/* ---------- tablet ---------- */
@media (max-width:1024px){
  .flow{grid-template-columns:repeat(2,1fr)}
  .flow li:last-child{grid-column:1/-1}
  .hero__title{font-size:38px}
}

/* ---------- smartphone ---------- */
@media (max-width:768px){
  section[id],.checker,.diag{scroll-margin-top:70px}
  body{font-size:15.5px;padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .demo-bar{font-size:11px;padding:5px 10px}
  .header__inner{padding:8px 14px}
  .logo__sub{font-size:10.5px}
  .logo__main{font-size:15px}
  .header__cta{display:none}
  .header__tel-sp{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:46px;border-radius:8px;background:var(--tel);color:#fff;text-decoration:none;font-size:10px;font-weight:700;line-height:1.2;gap:2px}
  .header__tel-sp .ico{font-size:20px}

  .hero::before{background:linear-gradient(180deg,rgba(14,32,56,.86) 0%,rgba(14,32,56,.80) 55%,rgba(14,32,56,.62) 100%)}
  .hero__bg img{object-position:72% 100%}
  .hero__inner{padding:34px 16px 36px}
  .hero__lead{font-size:15px}
  .hero__title{font-size:27px;line-height:1.5}
  .hero__text{font-size:14.5px}
  .hero__badges{gap:8px;justify-content:center;margin-bottom:22px}
  .hero__badges li{width:94px;height:94px;font-size:16px}
  .hero__badges b{font-size:11.5px}
  .cta-box{flex-direction:column;gap:12px}
  .cta-box .btn{width:100%}
  .btn__big{font-size:27px}

  .sec{padding:56px 0}
  .wrap{padding:0 16px}
  .sec__title{font-size:23px}
  .sec__lead{margin-bottom:24px;font-size:14.5px}
  .checklist{grid-template-columns:1fr;gap:8px}
  .checklist label{padding:12px 14px;font-size:15px}
  .worry__message{font-size:18px}

  .deadline{grid-template-columns:1fr;gap:24px;margin-top:20px}
  .tl__bar{font-size:18px;padding:18px 0}
  .checker{padding:20px 16px}
  .checker__title{font-size:18px}
  .checker__row{flex-direction:column}
  .checker__date{font-size:21px}

  .compare{grid-template-columns:1fr;gap:16px}
  .compare__col h3{font-size:21px;padding:12px}
  .compare__catch{font-size:15.5px;padding:14px}
  .compare dl{padding:4px 16px 16px}

  .diag{padding:22px 16px}
  .diag__text{font-size:17px}
  .diag__opts{grid-template-columns:1fr;gap:8px}
  .diag__opts button{padding:14px}
  .diag__result-title{font-size:19px}
  .diag__result-cta{grid-template-columns:1fr}

  .ng-list{grid-template-columns:1fr;gap:10px}
  .ng-list li{padding:14px}
  .ng-list b{font-size:16px}
  .mid-cta__text{font-size:17px}
  .mid-cta .btn{width:100%}

  .reasons{grid-template-columns:1fr;gap:14px}
  .reason{padding:20px 18px}
  .reason h3{font-size:18px}
  .reason__num{font-size:32px}

  .lawyer{grid-template-columns:1fr;gap:18px;padding:20px 16px}
  .lawyer__photo{max-width:200px;margin:0 auto}
  .lawyer__name{font-size:25px}

  .price-table th,.price-table td{padding:11px 10px;font-size:14px}
  .price-table tbody th{width:auto}

  .flow{grid-template-columns:1fr;gap:10px}
  .flow li{border-top:none;border-left:4px solid var(--navy2);padding:14px 16px}

  .faq summary{padding:16px 32px 16px 40px;font-size:15px}
  .faq__a{padding-left:40px}

  .form{padding:22px 16px}
  .access{grid-template-columns:1fr;gap:18px}
  .access__info{grid-template-columns:80px 1fr}
  .footer{padding:36px 0 24px}

  /* 追従CTA：本文を隠さないよう高さ62px＋ヒーロー/フォーム表示中は隠す */
  .fixed-cta{display:grid;grid-template-columns:1fr 92px;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:400;padding:7px 10px calc(7px + env(safe-area-inset-bottom));background:#ffffff;box-shadow:0 -4px 16px rgba(10,25,45,.16);transform:translateY(110%);transition:transform .28s ease;will-change:transform}
  .fixed-cta.is-show{transform:none}
  .fixed-cta a{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:9px;height:52px;font-weight:700;line-height:1.2}
  .fixed-cta__tel{background:linear-gradient(180deg,#ef7d2c,var(--tel));color:#fff;font-size:17px;box-shadow:0 3px 0 var(--tel2)}
  .fixed-cta__tel .ico{font-size:24px}
  .fixed-cta__tel span{display:flex;flex-direction:column}
  .fixed-cta small{font-size:10.5px;font-weight:500;opacity:.95}
  .fixed-cta__form{background:var(--navy);color:#fff;font-size:14px;flex-direction:column;gap:0 !important}
  .fixed-cta__form .ico{font-size:18px}
  .fixed-cta__form span{display:flex;flex-direction:column-reverse;align-items:center}
  .debug{left:8px;right:8px;width:auto;top:auto;bottom:calc(76px + env(safe-area-inset-bottom));max-height:16vh;font-size:11px;opacity:.92}
}
