:root{
  --navy:#001b3f;--navy2:#063a80;--blue:#0f49b4;--green:#00523d;--green2:#003f31;
  --gold:#c69b3a;--gold2:#a97817;--cream:#fbf8f0;--line:#dfd4bf;--text:#111;
  --sans:"Noto Sans CJK JP","Yu Gothic",Meiryo,sans-serif;--serif:"Noto Serif CJK JP","Yu Mincho",serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#fff}body{margin:0;background:#fff;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}svg{display:block}.site-header{height:80px;background:linear-gradient(90deg,#001431,#002650);color:#fff;position:sticky;top:0;z-index:30;box-shadow:0 1px 0 rgba(255,255,255,.08)}.header-inner{height:100%;width:min(100% - 56px,1480px);margin:auto;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:15px;color:#fff;text-decoration:none;font-family:var(--serif);font-weight:700;font-size:36px;letter-spacing:.02em;white-space:nowrap}.brand-mark{width:48px;height:48px;display:grid;place-items:center;background:linear-gradient(180deg,#ead395,#bb8b2c);color:#061c3f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.brand-mark svg{width:30px;height:30px;fill:currentColor}.header-rule{height:45px;width:1px;background:rgba(255,255,255,.6);margin-left:4px}.header-inner p{font-size:17px;letter-spacing:.04em;margin:0;color:#f4f7fb}.header-inner p b{font-weight:400;margin:0 8px;color:#d0d7e3}.page-wide{width:100%;max-width:1536px;margin:auto}.page-narrow{width:1024px;max-width:100%;margin:auto}.hero{height:784px;position:relative;background:#fff;overflow:hidden}.hero-city{position:absolute;inset:0 0 0 50%;background:url('assets/hero-person-city-clean.jpg') center/cover no-repeat}.hero-city:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 12%,rgba(255,255,255,.65) 31%,rgba(255,255,255,0) 56%)}.hero-city:after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 70%)}.hero-photo{position:absolute;right:18px;top:10px;width:540px;height:760px;background:url('assets/hero-person-city-clean.jpg') 61% 0/auto 100% no-repeat;filter:saturate(.98)}.hero-content{position:relative;z-index:2;width:740px;padding:40px 0 0 72px}.hero-ribbon{display:inline-block;background:linear-gradient(90deg,#0d3f90,#0a47ae);border-left:8px solid var(--gold);border-right:8px solid var(--gold);transform:skew(-10deg);color:#fff;font-weight:700;font-size:23px;letter-spacing:.05em;padding:12px 31px;margin:0 0 22px 8px}.hero-ribbon::first-line{transform:skew(10deg)}.hero h1{font-family:var(--serif);font-weight:600;font-size:67px;line-height:1.18;letter-spacing:.02em;margin:0 0 17px}.hero h1 span{color:#0c45ae}.hero h1 i{font-style:normal;font-size:.75em;color:var(--gold);margin:0 13px}.hero h1 em{font-style:normal;color:#0d48b5}.hero-copy{font-size:18px;line-height:1.72;margin:0 0 24px;font-weight:500}.hero-features{width:900px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #d2d5da;background:rgba(255,255,255,.9);border-radius:5px;overflow:hidden;margin-bottom:14px}.hero-features>div{height:72px;display:flex;justify-content:center;align-items:center;gap:16px;border-right:1px solid #d2d5da;color:#082d6b;font-size:20px;font-weight:700}.hero-features>div:last-child{border-right:0}.hero-features svg{width:40px;height:40px;fill:none;stroke:currentColor}.hero-features>div:first-child svg{fill:none}.hero-cta,.section-cta{border:2px solid var(--gold);border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;font-family:var(--serif);font-weight:700;box-shadow:0 7px 14px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.25);position:relative}.hero-cta{width:730px;height:90px;margin-left:90px;background:linear-gradient(180deg,#1454bd,#07398c);font-size:31px}.cta-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#efd27a,#b78624);color:#0b397f;margin-right:22px}.cta-icon svg{width:31px;height:31px;fill:currentColor}.hero-cta i,.section-cta i{position:absolute;right:33px;font-style:normal;font-family:var(--sans);font-size:46px;font-weight:300}.hero-security{display:flex;align-items:center;justify-content:center;gap:8px;width:830px;margin:12px 0 0 38px;font-size:16px}.hero-security svg{width:20px;height:20px}.report-card{position:absolute;z-index:3;left:760px;top:213px;width:300px;background:rgba(255,255,255,.96);border:1px solid #cfd3d9;border-radius:8px;box-shadow:0 6px 15px rgba(0,0,0,.15);padding:19px 17px 15px;font-size:11px}.report-card h2{font-family:var(--sans);font-size:13px;margin:0 0 8px}.report-card h2 small{font-size:10px}.report-line{height:1px;background:#cfd2d8;margin:7px 0 9px}.report-card p{margin:0 0 7px;font-weight:600}.report-card>strong{display:block;text-align:center;color:#154cb7;font-size:18px;margin:4px 0 9px}.bar-row{display:grid;grid-template-columns:28px 1fr 62px;gap:7px;align-items:center;margin:6px 0}.bar-row span,.bar-row b{font-size:10px}.bar-row i{height:10px;background:#c7cbd0;position:relative}.bar-row i:after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w);background:#a9afb7}.bar-row i.blue:after{background:#4b87df}.ai-range{display:flex;justify-content:space-between;background:#e7ebf2;padding:4px 5px;margin:7px 0;color:#174aa7}.ai-range span,.ai-range b{font-size:10px}.report-foot-title{margin-top:10px!important}.report-foot{font-size:9px!important;color:#333}.report-foot b{color:#164da8}.section{position:relative;background:#fff;min-height:1456px;overflow:hidden}.content-wrap{position:relative;z-index:2;padding:38px 40px 34px}.section-city-bg{position:absolute;right:0;top:0;width:58%;height:420px;background:url('assets/sagamihara-city-clean.jpg') center/cover no-repeat;opacity:.9}.section-city-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.25) 55%,rgba(255,255,255,0) 100%),linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 72%)}.section-display{font-family:var(--serif);font-size:58px;line-height:1.35;font-weight:500;color:var(--green);margin:0 0 16px;letter-spacing:.02em}.section-display span{color:var(--green)}.section-intro{font-size:20px;line-height:1.65;margin:0 0 45px;font-weight:500}.problem-columns{display:grid;grid-template-columns:430px 40px 1fr;align-items:center;gap:16px}.panel{border:1px solid #d8cdbb;border-radius:9px;background:rgba(255,255,255,.96);overflow:hidden;box-shadow:0 3px 9px rgba(0,0,0,.06)}.panel h3{margin:0;color:#fff;text-align:center;font-family:var(--serif);font-weight:500;font-size:25px;padding:10px}.pain-panel h3{background:linear-gradient(180deg,#6d6d6d,#4d4d4d)}.solution-panel h3{background:linear-gradient(180deg,#086448,#004c39)}.pain-panel ol{list-style:none;padding:8px 16px;margin:0}.pain-panel li{height:72px;border-bottom:1px solid #ddd5c8;display:grid;grid-template-columns:43px 1fr 36px;align-items:center;gap:8px}.pain-panel li:last-child{border-bottom:0}.pain-panel li>span{width:36px;height:36px;border:2px solid #d0a13a;border-radius:50%;display:grid;place-items:center;color:#a87e25;font-size:19px}.pain-panel li b{font-size:16px}.pain-panel li svg{width:30px;height:30px;color:#666;fill:currentColor}.pain-panel li i{width:31px;height:31px;border:2px solid #666;border-radius:50%;display:grid;place-items:center;font-style:normal;color:#666;font-weight:700;font-size:20px}.gold-arrow{font-size:70px;color:var(--gold);font-family:var(--serif);font-weight:300;text-align:center}.solution-list{padding:10px 14px}.solution-list>div{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #e2d8c7}.solution-list>div:last-child{border-bottom:0}.solution-list>div>span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff}.solution-list svg{width:32px;height:32px}.solution-list p{margin:0}.solution-list b{display:block;font-family:var(--serif);color:var(--green);font-size:21px;margin-bottom:3px}.solution-list small{display:block;font-size:14px;line-height:1.45}.line-heading{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--serif);font-size:31px;color:var(--green);font-weight:500;margin:28px 0 12px}.line-heading:before,.line-heading:after{content:"";height:1px;background:var(--gold);flex:1}.line-heading span{padding:0 10px}.compare-table{border:1px solid #d7cbb5;background:#fff}.compare-head,.compare-table>div:not(.compare-head){display:grid;grid-template-columns:190px 355px 1fr}.compare-head>div{padding:10px;text-align:center;color:#fff;font-size:17px}.compare-head>div:first-child{background:#7a7a7a}.compare-head>div:nth-child(2){background:#6a6a6a}.compare-head>div:nth-child(3){background:var(--green)}.compare-table>div:not(.compare-head)>*{min-height:52px;padding:10px 13px;border-right:1px solid #dfd4bf;border-top:1px solid #dfd4bf;display:flex;align-items:center;font-size:14px}.compare-table>div:not(.compare-head)>*:last-child{border-right:0}.compare-table b{gap:8px}.compare-table b svg{width:25px;height:25px;color:var(--green)}.compare-table strong{color:var(--green);font-size:15px!important}.section-cta{width:660px;height:90px;margin:30px auto 0;background:linear-gradient(180deg,#0b6b50,#003f31);font-size:31px}.section-cta .cta-icon{color:var(--green)}.trust-row{display:flex;align-items:center;justify-content:center;gap:14px;font-size:16px;margin:12px 0 0}.trust-row svg{width:19px;height:19px}.authority-section{background:linear-gradient(180deg,#fffdf7,#fff)}.authority-title{text-align:center;font-family:var(--serif);font-size:52px;font-weight:500;margin:15px 0 6px;letter-spacing:.02em}.authority-title span{color:var(--green)}.authority-title em{font-style:normal;color:var(--gold)}.authority-sub{text-align:center;font-size:19px;margin:0 0 34px}.authority-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.authority-card{border:1px solid var(--gold);border-radius:12px;overflow:hidden;background:#fff}.authority-card>h3{margin:0;background:linear-gradient(180deg,#086448,#004c39);color:#fff;text-align:center;font-family:var(--serif);font-weight:500;font-size:25px;padding:13px}.authority-card>h3 span{color:#e9c76e}.consultant-content{height:515px;display:grid;grid-template-columns:46% 1fr}.consultant-content img{width:100%;height:100%;object-fit:cover;object-position:center top}.consultant-content ul{list-style:none;margin:0;padding:30px 18px}.consultant-content li{position:relative;padding:18px 0 18px 40px;border-bottom:1px solid #ded7ca;font-size:17px}.consultant-content li:last-child{border-bottom:0}.consultant-content li:before{content:"✓";position:absolute;left:0;top:15px;width:28px;height:28px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);font-weight:700}.network{height:440px;position:relative}.network-center,.network-node{position:absolute;border:1px solid var(--gold);border-radius:50%;background:#fffdf6;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green);z-index:2}.network-center{width:155px;height:155px;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--green);color:#fff;border:4px solid #c79935}.network-center svg{width:48px;height:48px}.network-center b{font-family:var(--serif);font-size:25px}.network-node{width:118px;height:118px}.network-node svg{width:44px;height:44px}.network-node b{font-size:17px;text-align:center}.n1{left:30px;top:25px}.n2{right:30px;top:25px}.n3{left:30px;bottom:20px}.n4{right:30px;bottom:20px}.network .line{position:absolute;height:2px;background:#6d6d6d;width:150px;left:50%;top:50%;transform-origin:left center;z-index:1}.network .l1{transform:rotate(-145deg)}.network .l2{transform:rotate(-35deg)}.network .l3{transform:rotate(145deg)}.network .l4{transform:rotate(35deg)}.expert-card>p{text-align:center;font-size:17px;line-height:1.55;margin:-8px 15px 24px}.flow-card{border:1px solid var(--gold);border-radius:10px;background:#fff;margin-top:28px;padding:10px 22px 18px}.flow-card .line-heading{margin:0 0 16px}.flow-grid{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr 36px 1fr;align-items:stretch}.flow-grid>article{position:relative;border:1px solid #d9cdb8;border-radius:8px;text-align:center;padding:28px 10px 16px;min-height:250px}.flow-grid>article>span{position:absolute;top:-22px;left:50%;transform:translateX(-50%);width:45px;height:45px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:24px}.flow-grid>article svg{width:60px;height:60px;margin:10px auto;color:var(--green)}.flow-grid>article b{display:block;font-family:var(--serif);font-size:21px;line-height:1.35}.flow-grid>article p{font-size:14px;line-height:1.5}.flow-grid>i{display:grid;place-items:center;font-style:normal;font-size:50px;color:var(--gold)}.strengths-section{min-height:1456px}.strengths-section .section-city-bg{height:380px}.mini-ribbon{display:inline-block;background:var(--green);color:#fff;border-left:7px solid var(--gold);border-right:7px solid var(--gold);padding:8px 25px;font-size:17px;font-weight:700;transform:skew(-10deg);margin:0 0 15px}.section-display.compact{font-size:48px;margin-bottom:4px;color:#071a39}.section-display.compact span{color:var(--green)}.section-intro.compact{font-size:16px;margin-bottom:25px}.three-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.three-reasons article{background:rgba(255,255,255,.93);border:1px solid #d9cfbd;border-radius:9px;text-align:center;padding:18px 14px;min-height:205px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.three-reasons span{width:67px;height:67px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;color:var(--gold2)}.three-reasons svg{width:38px;height:38px}.three-reasons h3{font-family:var(--serif);color:var(--green);font-size:24px;margin:8px 0}.three-reasons p{font-size:14px;line-height:1.55;margin:0}.ten-strengths{border:2px solid var(--gold);border-radius:8px;margin-top:25px;background:#fff;padding:37px 25px 18px;position:relative}.ten-strengths>h3{position:absolute;top:-21px;left:50%;transform:translateX(-50%);margin:0;background:var(--green);color:#fff;border-left:14px solid transparent;border-right:14px solid transparent;padding:7px 45px;font-family:var(--serif);font-size:24px;font-weight:500;white-space:nowrap}.strength-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.strength-grid article{display:grid;grid-template-columns:42px 55px 1fr;gap:10px;align-items:start;padding:12px 0;border-bottom:1px dashed #d9ccb3}.strength-grid article:nth-last-child(-n+2){border-bottom:0}.strength-grid article>span{width:35px;height:35px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:18px}.strength-grid article>svg{width:46px;height:46px;color:var(--green)}.strength-grid b{font-size:16px}.strength-grid p{font-size:13px;line-height:1.5;margin:4px 0 0}.benefit-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d6c8ad;border-radius:8px;background:#fff;margin-top:22px;overflow:hidden}.benefit-strip>div{min-height:82px;display:flex;align-items:center;justify-content:center;gap:10px;border-right:1px solid #d6c8ad}.benefit-strip>div:last-child{border-right:0}.benefit-strip span{font-size:28px;color:var(--gold2)}.benefit-strip svg{width:35px;height:35px;color:var(--gold2)}.benefit-strip b{font-size:15px}.benefits-heading{margin-top:20px}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.benefits-grid article{display:grid;grid-template-columns:70px 1fr;align-items:center;border:1px solid #d7cdbb;border-radius:8px;background:#fff;padding:15px}.benefits-grid article>span{width:58px;height:58px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:34px}.benefits-grid svg{width:36px;height:36px}.benefits-grid b{font-family:var(--serif);font-size:22px}.benefits-grid p{font-size:13px;line-height:1.45;margin:4px 0 0}.form-section{min-height:1456px}.form-title{text-align:center;font-family:var(--serif);font-size:51px;font-weight:500;line-height:1.35;margin:0 0 25px}.form-title span{color:var(--green)}.five-step-overview{display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr 26px 1fr 26px 1fr;align-items:stretch;margin-bottom:18px}.five-step-overview article{border:1px solid #d9cfbe;border-radius:8px;text-align:center;padding:14px 8px;min-height:173px;position:relative}.five-step-overview article>span{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff}.five-step-overview article b{display:block;margin:38px 0 8px;font-size:16px}.five-step-overview article svg{width:55px;height:55px;margin:auto;color:var(--green)}.five-step-overview>i{display:grid;place-items:center;font-style:normal;font-size:38px;color:var(--gold)}.form-preview{border:1px solid #d8cdbb;border-radius:8px;padding:22px;display:grid;grid-template-columns:1fr 280px;gap:26px;background:#fff}.progress-title{text-align:center;font-size:15px;margin:0 0 10px}.progress-dots{display:flex;align-items:center;gap:21px;margin-bottom:23px}.progress-dots span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e1e1e1;position:relative;color:#555}.progress-dots span.active{background:var(--green);color:#fff}.progress-dots span:not(:last-child):after{content:"";position:absolute;left:28px;top:50%;width:21px;height:2px;background:#ddd}.form-main-preview h3{font-family:var(--serif);font-size:25px;margin:0 0 6px}.form-main-preview>p:not(.progress-title){font-size:14px;margin:0 0 17px}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.property-grid button{height:112px;background:#fff;border:1px solid #d7cdbb;border-radius:7px;cursor:pointer;color:var(--green);display:flex;flex-direction:column;justify-content:center;align-items:center}.property-grid svg{width:45px;height:45px}.property-grid b,.property-grid strong{font-family:var(--sans);font-size:17px;color:#111;margin-top:6px}.property-grid .dots{font-size:33px;color:var(--green);line-height:1;margin:0}.step-side{border:1px solid #d7cdbb;border-radius:7px;overflow:hidden}.step-side h3{margin:0;background:var(--green);color:#fff;padding:12px;text-align:center;font-size:17px}.step-side ol{list-style:none;margin:0;padding:15px 18px}.step-side li{position:relative;padding:10px 0 10px 45px;border-left:2px dotted #cfc6b7;font-size:15px}.step-side li:before{content:counter(list-item);position:absolute;left:-16px;top:6px;width:30px;height:30px;border:1px solid #bfb6a8;border-radius:50%;display:grid;place-items:center;background:#fff}.step-side li.active:before{background:var(--green);color:#fff;border-color:var(--green)}.form-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.form-trust-grid article{border:1px solid #d9cfbe;border-radius:8px;text-align:center;padding:14px;min-height:165px}.form-trust-grid article>span,.form-trust-grid article>svg{width:58px;height:58px;margin:0 auto 8px;color:var(--gold2)}.form-trust-grid article>span{border-radius:50%;background:linear-gradient(180deg,#e2be59,#a97b1f);color:#fff;display:grid;place-items:center;font-size:24px}.form-trust-grid b{display:block;font-size:16px}.form-trust-grid p{font-size:12px;line-height:1.5;margin:6px 0 0}.faq-heading{margin-top:22px}.faq-list{display:grid;gap:9px}.faq-list details{border:1px solid #d7cdbb;border-radius:6px;padding:10px 14px;background:#fff}.faq-list summary{list-style:none;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:10px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span,.faq-list p span{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;background:var(--green);flex:none}.faq-list p{margin:8px 0 0;display:flex;align-items:center;gap:10px;font-size:13px}.faq-list p span{background:var(--gold2)}
/* modal */
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,15,36,.72);backdrop-filter:blur(4px)}.modal-panel{position:relative;z-index:1;width:min(860px,100%);max-height:92vh;overflow:auto;background:#fff;border:2px solid var(--gold);border-radius:20px;box-shadow:0 25px 80px rgba(0,0,0,.35);padding:0 34px 30px}.modal-close{position:absolute;right:14px;top:10px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#123;font-size:30px;cursor:pointer}.modal-header{text-align:center;margin:0 -34px 28px;padding:20px 60px 18px;background:linear-gradient(135deg,var(--navy),#00355e);color:#fff;border-radius:17px 17px 0 0}.modal-header p{margin:0;font-size:13px;letter-spacing:.12em;color:#e9c96e}.modal-header h2{margin:5px 0 14px;font-family:var(--serif);font-size:31px}.modal-progress{display:flex;gap:7px;justify-content:center}.modal-progress span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);font-weight:700}.modal-progress span.active{background:var(--gold);color:#10203b}.step{border:0;margin:0;padding:0}.step legend{width:100%;margin-bottom:20px;font-family:var(--serif);font-weight:700;font-size:25px;text-align:center;color:#09213e}.grid{display:grid;gap:14px}.choices{grid-template-columns:repeat(3,1fr)}.choices label{position:relative}.choices input{position:absolute;opacity:0}.choices span{display:flex;align-items:center;justify-content:center;min-height:78px;border:1px solid #d8c9aa;border-radius:10px;background:#fff;font-weight:700;cursor:pointer}.choices input:checked+span{background:linear-gradient(135deg,#0a694f,#003e30);color:#fff;border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,154,59,.25)}.choices.wards{grid-template-columns:repeat(2,1fr)}.choices.list{grid-template-columns:1fr}.choices.list span{min-height:58px;justify-content:flex-start;padding:0 20px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:block}.field.full{grid-column:1/-1}.field span{display:block;margin:0 0 7px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #c9cdd2;border-radius:9px;padding:13px 14px;background:#fff;font:inherit}.privacy{display:flex;align-items:center;gap:8px;margin-top:18px}.privacy a{color:#07543f}.confirmation{display:grid;border:1px solid #ddd;border-radius:10px;overflow:hidden}.confirmation-row{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #e3e3e3}.confirmation-row:last-child{border-bottom:0}.confirmation-row b,.confirmation-row span{padding:10px 14px}.confirmation-row b{background:#f3f0e9;color:#07543f}.final-note{text-align:center;color:#56606a}.error{min-height:1.5em;text-align:center;color:#c32222;font-weight:700}.actions{display:flex;justify-content:center;gap:14px}.actions button{border:0;border-radius:999px;padding:14px 34px;font-weight:800;font-size:16px;cursor:pointer}.actions .back{background:#e9ebee;color:#27313c}.actions .next,.actions .submit{min-width:260px;background:linear-gradient(180deg,#0a7155,#003e30);border:2px solid var(--gold);color:#fff}.hp{position:absolute!important;left:-9999px!important}body.modal-open{overflow:hidden}
@media(max-width:1050px){body{min-width:1024px}.page-narrow{width:1024px}}
/* final alignment refinements against supplied PC references */
.hero-city{display:none}
.hero-photo{right:0;top:0;width:620px;height:784px;background:url('assets/hero-reference-right.jpg') center/cover no-repeat;filter:none}
.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.9) 8%,rgba(255,255,255,.28) 24%,rgba(255,255,255,0) 42%),linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 24%)}
.problem-columns{grid-template-columns:430px 38px 476px;gap:0}
.problem-section,.authority-section,.strengths-section,.form-section{scroll-margin-top:80px}
.authority-section .section-cta{margin-top:92px}
.strengths-section .three-reasons article{min-height:190px;padding:15px 14px}
.strengths-section .strength-grid article{padding:9px 0}
.strengths-section .benefit-strip>div{min-height:74px}
.strengths-section .benefits-grid article{padding:12px}
.strengths-section .section-cta{margin-top:12px}
.hero-photo{width:540px;background-position:center;background-size:100% 100%}


/* 公開時の外側余白を白に統一 */
html,body{background-color:#fff!important;}
.page-wide,.page-narrow{background-color:#fff;}

/* 2026-08-04: current instruction only
   1) remove light-blue dots on the woman's left arm by switching to clean photo asset
   2) prevent the following section from entering the PC first viewport
   3) keep the report card clear of “納得して選べる比較”
*/
.hero{
  height:auto;
  min-height:max(784px, calc(100vh - 80px));
}
.hero-photo{
  top:0;
  bottom:0;
  height:auto;
  width:540px;
  background-image:url('assets/hero-reference-right-clean.jpg');
  background-position:center top;
  background-size:cover;
  background-repeat:no-repeat;
}
.report-card{
  top:170px;
}

/* 2026-08-04: approved PC first-view redesign
   Keep all lower sections, form logic, JS and PHP unchanged.
   Only rebalance the first view so no text/report/CTA overlaps the woman.
*/
.site-header{height:88px}
.header-inner{width:min(100% - 56px,1536px);padding:0 0}
.brand{font-size:38px}
.brand-mark{width:50px;height:50px}
.header-inner p{font-size:18px}

.page-wide{max-width:none}
.hero{
  height:calc(100vh - 88px);
  min-height:784px;
  max-height:852px;
  width:100%;
  max-width:none;
  overflow:hidden;
  background:#fff;
}
.hero-content{
  width:730px;
  padding:36px 0 0 max(56px, calc((100vw - 1536px)/2 + 56px));
}
.hero-ribbon{
  font-size:23px;
  padding:12px 30px;
  margin:0 0 22px 8px;
}
.hero h1{
  font-size:68px;
  line-height:1.17;
  margin-bottom:18px;
}
.hero-copy{
  font-size:18px;
  line-height:1.72;
  margin-bottom:22px;
}
.hero-features{
  width:900px;
  margin-bottom:14px;
}
.hero-features>div{
  height:72px;
  font-size:20px;
}
.hero-cta{
  width:730px;
  height:90px;
  margin-left:90px;
  font-size:31px;
}
.hero-security{
  width:830px;
  margin:12px 0 0 38px;
}
.hero-photo{
  right:0;
  top:18px;
  bottom:0;
  width:min(500px,32.6vw);
  height:auto;
  background-image:url('assets/hero-reference-right-clean.jpg');
  background-position:center top;
  background-size:100% 100%;
  background-repeat:no-repeat;
  z-index:1;
}
.hero-photo:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,#fff 0%,rgba(255,255,255,.84) 7%,rgba(255,255,255,.24) 19%,rgba(255,255,255,0) 34%),
    linear-gradient(0deg,#fff 0%,rgba(255,255,255,.0) 22%);
  pointer-events:none;
}
.report-card{
  left:auto;
  right:calc(min(500px,32.6vw) + 34px);
  top:218px;
  width:300px;
  z-index:4;
}
@media (max-width:1260px){
  .hero-content{padding-left:44px;width:690px}
  .hero h1{font-size:63px}
  .hero-features{width:840px}
  .hero-cta{width:690px;margin-left:72px}
  .report-card{right:calc(min(430px,32.6vw) + 18px);width:276px}
  .hero-photo{width:min(430px,32.6vw)}
}

/* final approved non-overlap placement */
.report-card{
  top:180px;
  right:min(500px,32.6vw);
}

/* =========================================================
   Stable PC layout
   The hero and all lower sections share one 1536px canvas.
   No JavaScript scaling or forced image distortion is used.
   ========================================================= */
@media (min-width:1051px){
  .page-wide,
  .page-narrow{
    width:min(100%,1536px);
    max-width:1536px;
    margin-left:auto;
    margin-right:auto;
  }
  .page-narrow{
    min-height:0!important;
    overflow:hidden;
    position:relative;
    background:#fff;
  }
  .page-narrow>.section-canvas{
    position:relative;
    width:100%;
    left:auto;
    top:auto;
    transform:none!important;
  }
  .page-narrow .content-wrap{
    width:min(100%,1280px);
    margin-left:auto;
    margin-right:auto;
    padding-left:48px;
    padding-right:48px;
  }
  .section{
    min-height:0;
    height:auto!important;
  }
  .problem-section .problem-columns{
    grid-template-columns:minmax(390px,430px) 42px minmax(0,1fr);
  }
  .compare-head,
  .compare-table>div:not(.compare-head){
    grid-template-columns:190px minmax(330px,410px) minmax(0,1fr);
  }
}

/* =========================================================
   Production responsive layer
   - PC composition remains unchanged
   - Mobile uses the same brand, copy, colors and information order
   - Photographs keep their intrinsic aspect ratio (no stretching)
   ========================================================= */
.mobile-hero,.mobile-menu-button,.mobile-sticky-cta,.site-footer{display:none}
.hero-photo{background-size:cover!important;background-position:center top!important}

@media (max-width:1050px){
  html,body{min-width:0!important;width:100%;overflow-x:hidden;background:#fff!important}
  body{padding-bottom:72px}
  .page-wide,.page-narrow{width:100%!important;max-width:none!important;margin:0!important}
  .page-narrow{height:auto!important;min-height:0!important;overflow:visible!important}
  .page-narrow>.section-canvas{position:relative!important;left:auto!important;top:auto!important;width:100%!important;transform:none!important;will-change:auto!important}
  .hero{display:none!important}
  .mobile-hero{display:block;background:#fff;color:#111;padding-bottom:22px}

  .site-header{height:64px;position:sticky;top:0;z-index:50}
  .header-inner{width:100%;padding:0 12px;gap:8px}
  .brand{font-size:19px;gap:8px;min-width:0}
  .brand-mark{width:34px;height:34px;flex:none}
  .brand-mark svg{width:22px;height:22px}
  .header-rule{display:none}
  .header-inner>p{margin-left:auto;font-size:9px;line-height:1.35;text-align:right;max-width:132px;letter-spacing:0}
  .header-inner>p b{display:none}
  .mobile-menu-button{display:flex;width:38px;height:38px;flex:none;border:1px solid rgba(255,255,255,.35);border-radius:7px;background:rgba(255,255,255,.08);padding:9px 8px;flex-direction:column;justify-content:center;gap:4px}
  .mobile-menu-button span{height:2px;background:#fff;border-radius:3px;width:100%}

  .mobile-area-band{background:linear-gradient(90deg,#0d3f90,#0a47ae);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);color:#fff;text-align:center;font-size:12px;font-weight:800;padding:8px 10px;letter-spacing:.03em}
  .mobile-hero-main{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(135px,.92fr);min-height:315px;background:linear-gradient(90deg,#fff 0%,#fff 52%,rgba(255,255,255,.7) 65%,rgba(255,255,255,0) 100%);position:relative}
  .mobile-hero-copy{padding:20px 4px 12px 16px;z-index:2}
  .mobile-hero-copy h1{font-family:var(--serif);font-size:clamp(34px,9vw,44px);line-height:1.16;font-weight:600;margin:0 0 12px;letter-spacing:.01em}
  .mobile-hero-copy h1 span,.mobile-hero-copy h1 em{color:#0d48b5;font-style:normal}
  .mobile-hero-copy h1 i{font-style:normal;color:var(--gold);font-size:.72em;margin:0 4px}
  .mobile-hero-copy p{font-size:12px;line-height:1.65;margin:0;font-weight:600}
  .mobile-hero-photo{background:url('assets/hero-reference-right-clean.jpg') 52% top/cover no-repeat;min-height:315px;position:relative}
  .mobile-hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.4) 15%,rgba(255,255,255,0) 42%),linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 22%)}

  .mobile-features{display:grid;gap:8px;padding:0 14px 12px}
  .mobile-features>div{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:11px;background:linear-gradient(180deg,#092d69,#031d4c);border:1px solid var(--gold);border-radius:8px;color:#fff;padding:9px 12px;box-shadow:0 4px 12px rgba(0,25,61,.13)}
  .mobile-features svg{width:32px;height:32px;color:#e4bd5a;fill:none;stroke:currentColor}
  .mobile-features p{margin:0;display:flex;flex-direction:column}
  .mobile-features b{font-size:16px;line-height:1.25}
  .mobile-features span{font-size:11px;line-height:1.45;color:#e8eef9;margin-top:2px}

  .mobile-report-card{margin:0 14px 14px;border:1px solid #cfd3d9;border-radius:10px;background:#fff;padding:14px;box-shadow:0 5px 16px rgba(0,0,0,.10);font-size:11px}
  .mobile-report-card h2{font-size:13px;margin:0 0 9px;padding-bottom:8px;border-bottom:1px solid #cfd2d8}
  .mobile-report-card h2 small{font-size:10px}
  .mobile-report-card>p{margin:0 0 5px;font-weight:700}
  .mobile-report-card>strong{display:block;text-align:center;color:#154cb7;font-size:18px;margin:5px 0 10px}
  .mobile-bars{display:grid;gap:7px}
  .mobile-bars span{display:grid;grid-template-columns:25px 1fr 62px;gap:6px;align-items:center;font-size:10px}
  .mobile-bars i{display:block;height:10px;background:linear-gradient(90deg,#aeb4bc var(--w),#e4e6e9 var(--w));border-radius:1px}
  .mobile-bars i.blue{background:linear-gradient(90deg,#3779d5 var(--w),#e4e6e9 var(--w))}
  .mobile-bars b{text-align:right;font-size:10px}
  .mobile-ai-range{display:flex;justify-content:space-between;background:#e7edfb;padding:6px 7px;margin:8px 0;color:#174ca9}
  .mobile-report-card>small{display:block;font-size:9px;color:#174ca9}
  .mobile-hero-cta{width:calc(100% - 28px);min-height:64px;margin:0 14px;border:2px solid var(--gold);border-radius:999px;background:linear-gradient(180deg,#1454bd,#07398c);color:#fff;display:grid;grid-template-columns:46px 1fr 22px;align-items:center;padding:7px 15px 7px 9px;box-shadow:0 7px 15px rgba(0,0,0,.16);font-family:var(--serif)}
  .mobile-hero-cta>span{width:43px;height:43px;border-radius:50%;background:linear-gradient(180deg,#efd27a,#b78624);display:grid;place-items:center;color:#0b397f}
  .mobile-hero-cta svg{width:24px;height:24px;fill:currentColor}
  .mobile-hero-cta b{font-size:18px;line-height:1.2}
  .mobile-hero-cta i{font-size:32px;font-style:normal}
  .mobile-security{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;margin:8px 0 0}
  .mobile-security svg{width:14px;height:14px}

  .section{min-height:0!important;height:auto!important;overflow:visible;padding:0;background:#fff}
  .content-wrap{padding:34px 15px 28px}
  .section-city-bg{height:190px;opacity:.16;pointer-events:none}
  .section-display,.section-display.compact{font-size:34px;line-height:1.28;margin:0 0 10px}
  .section-intro,.section-intro.compact{font-size:14px;line-height:1.75;margin:0 0 22px}
  .mini-ribbon{font-size:13px;padding:7px 18px}

  .problem-columns{grid-template-columns:1fr!important;gap:12px!important}
  .gold-arrow{transform:rotate(90deg);font-size:44px;height:38px}
  .panel{border-radius:9px;overflow:hidden}
  .panel h3{font-size:18px;padding:12px}
  .pain-panel li{min-height:58px;padding:10px 8px;grid-template-columns:35px 1fr 28px}
  .pain-panel li b{font-size:13px;line-height:1.45}
  .solution-list>div{padding:11px 10px;grid-template-columns:47px 1fr}
  .solution-list>div>span{width:43px;height:43px}
  .solution-list b{font-size:15px}
  .solution-list small{font-size:11px;line-height:1.5}
  .line-heading{font-size:23px;margin:24px 0 14px}
  .line-heading:before,.line-heading:after{width:30px}
  .compare-table{display:grid;gap:10px;border:0;background:transparent}
  .compare-head{display:none!important}
  .compare-table>div:not(.compare-head){display:grid!important;grid-template-columns:1fr!important;border:1px solid #d6c8ad;border-radius:8px;overflow:hidden;background:#fff}
  .compare-table>div>b,.compare-table>div>span,.compare-table>div>strong{padding:9px 11px!important;border:0!important;font-size:12px;line-height:1.55}
  .compare-table>div>b{background:#f2eee5;color:#183550}
  .compare-table>div>span:before{content:"一般的な一括査定：";font-weight:800;color:#666}
  .compare-table>div>strong{background:#edf8f3;color:var(--green)}
  .compare-table>div>strong:before{content:"当サイト：";font-weight:800}

  .authority-title{font-size:31px;line-height:1.35;margin:0 0 8px}
  .authority-columns{grid-template-columns:1fr;gap:14px}
  .authority-card>h3{font-size:18px;padding:12px}
  .consultant-content{grid-template-columns:118px 1fr;min-height:340px}
  .consultant-content img{height:100%;object-fit:cover}
  .consultant-content li{font-size:12px;padding:12px 7px 12px 30px}
  .expert-card{padding-bottom:14px}
  .network{height:300px;transform:scale(.90);transform-origin:center top;margin-bottom:-25px}
  .authority-sub{font-size:13px;line-height:1.65;padding:0 15px}
  .flow-card{padding:20px 11px}
  .flow-grid{grid-template-columns:1fr;gap:17px}
  .flow-grid>article{min-height:0;padding:24px 12px 14px}
  .flow-grid>i{height:20px;transform:rotate(90deg);font-size:40px}
  .flow-grid>article b{font-size:18px}
  .flow-grid>article p{font-size:12px}

  .three-reasons{grid-template-columns:1fr;gap:12px}
  .three-reasons article,.strengths-section .three-reasons article{min-height:0;padding:16px 13px}
  .three-reasons h3{font-size:21px}
  .three-reasons p{font-size:13px}
  .ten-strengths{padding:34px 12px 10px;margin-top:28px}
  .ten-strengths>h3{font-size:19px;padding:7px 22px}
  .strength-grid{grid-template-columns:1fr;gap:0}
  .strength-grid article{grid-template-columns:34px 42px 1fr;gap:8px;padding:12px 0!important}
  .strength-grid article:nth-last-child(-n+2){border-bottom:1px dashed #d9ccb3}
  .strength-grid article:last-child{border-bottom:0}
  .strength-grid article>span{width:30px;height:30px;font-size:15px}
  .strength-grid article>svg{width:37px;height:37px}
  .strength-grid b{font-size:14px;line-height:1.45}
  .strength-grid p{font-size:11px;line-height:1.55}
  .benefit-strip{grid-template-columns:1fr 1fr}
  .benefit-strip>div{min-height:74px!important;border-bottom:1px solid #d6c8ad}
  .benefit-strip>div:nth-child(2n){border-right:0}
  .benefits-grid{grid-template-columns:1fr;gap:10px}
  .benefits-grid article{grid-template-columns:58px 1fr;padding:12px!important}
  .benefits-grid article>span{width:49px;height:49px;font-size:26px}
  .benefits-grid b{font-size:18px}
  .benefits-grid p{font-size:12px}

  .form-title{font-size:29px;line-height:1.35;margin-bottom:17px}
  .five-step-overview{grid-template-columns:1fr;gap:10px}
  .five-step-overview>i{height:18px;transform:rotate(90deg)}
  .five-step-overview article{min-height:98px;display:grid;grid-template-columns:35px 1fr 55px;align-items:center;text-align:left;padding:11px}
  .five-step-overview article>span{position:static;transform:none;width:30px;height:30px}
  .five-step-overview article b{margin:0;font-size:14px}
  .five-step-overview article svg{width:43px;height:43px}
  .form-preview{grid-template-columns:1fr;padding:13px;gap:14px}
  .progress-title{font-size:13px}
  .progress-dots{gap:5px}
  .progress-dots span{width:25px;height:25px;font-size:11px}
  .form-main-preview h3{font-size:21px;line-height:1.4}
  .property-grid{grid-template-columns:1fr 1fr;gap:9px}
  .property-grid button{min-height:102px}
  .property-grid svg{width:38px;height:38px}
  .property-grid b,.property-grid strong{font-size:14px}
  .step-side ol{padding:12px 17px}
  .step-side li{font-size:12px;padding:8px 0 8px 38px}
  .form-trust-grid{grid-template-columns:1fr 1fr;gap:9px}
  .form-trust-grid article{min-height:145px;padding:12px 8px}
  .form-trust-grid b{font-size:13px;line-height:1.4}
  .form-trust-grid p{font-size:10px;line-height:1.5}
  .faq-list details{padding:10px 11px}
  .faq-list summary{font-size:13px;line-height:1.45}
  .faq-list p{font-size:11px;line-height:1.6}

  .section-cta{width:100%;height:64px;margin:20px auto 0;font-size:20px}
  .section-cta .cta-icon{width:43px;height:43px;margin-right:10px}
  .section-cta .cta-icon svg{width:24px;height:24px}
  .section-cta i{right:18px;font-size:34px}
  .trust-row{font-size:11px;gap:6px;flex-wrap:wrap}

  .mobile-sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:8px 11px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);box-shadow:0 -6px 18px rgba(0,0,0,.10);backdrop-filter:blur(8px)}
  .mobile-sticky-cta button{width:100%;height:52px;border:2px solid var(--gold);border-radius:999px;background:linear-gradient(180deg,#0b6b50,#003f31);color:#fff;font-size:17px;font-weight:900}
  .site-footer{display:block;text-align:center;background:#001b3f;color:#fff;padding:25px 14px 90px}
  .site-footer p{font-family:var(--serif);font-size:19px;margin:0 0 10px}
  .site-footer a{color:#fff;font-size:12px}
  .site-footer small{display:block;margin-top:12px;color:#cbd5e6}

  .modal{padding:8px}
  .modal-panel{padding:0 14px 20px;border-radius:13px}
  .modal-header{margin:0 -14px 20px;padding:16px 40px 14px;border-radius:10px 10px 0 0}
  .modal-header h2{font-size:23px}
  .modal-progress{gap:4px}
  .modal-progress span{width:23px;height:23px;font-size:10px}
  .step legend{font-size:20px;line-height:1.4}
  .choices{grid-template-columns:1fr 1fr}
  .choices span{min-height:62px;font-size:13px}
  .choices.list{grid-template-columns:1fr}
  .two-cols{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .confirmation-row{grid-template-columns:96px 1fr;font-size:12px}
  .actions{gap:7px}
  .actions button{padding:12px 15px;font-size:13px}
  .actions .next,.actions .submit{min-width:160px}
}

/* =========================================================
   CLIENT DELIVERY FINAL POLISH — 2026-08-23
   Visual-only refinement. Form fields / send.php / step logic are unchanged.
   ========================================================= */
.title-icon{display:inline-grid!important;place-items:center;vertical-align:middle;margin-right:8px}
.title-icon svg{width:24px;height:24px;color:currentColor}
.benefits-grid article>span svg{width:30px;height:30px;color:var(--green)}
.property-grid .dots{display:flex!important;align-items:center;justify-content:center;gap:6px}
.property-grid .dots i{display:block;width:7px;height:7px;border-radius:50%;background:var(--green)}

/* Make the 5 strengths feel intentional on PC */
.five-strength-grid{grid-template-columns:repeat(5,1fr)!important;gap:0!important}
.five-strength-grid article{display:grid!important;grid-template-columns:36px 42px 1fr!important;align-items:start;gap:8px!important;padding:15px 12px!important;border-right:1px solid #e2d8c6;border-bottom:0!important}
.five-strength-grid article:last-child{border-right:0}
.five-strength-grid article>span{width:31px!important;height:31px!important;font-size:15px!important}
.five-strength-grid article>svg{width:36px!important;height:36px!important}
.five-strength-grid b{font-size:14px!important;line-height:1.45!important}
.five-strength-grid p{font-size:11px!important;line-height:1.55!important;margin-top:4px!important}

@media(max-width:1050px){
  /* Header: keep brand clear instead of squeezing three text blocks together */
  body{padding-bottom:62px}
  .site-header{height:58px}
  .header-inner{padding:0 10px;gap:7px}
  .brand{font-size:20px;gap:7px;letter-spacing:0}
  .brand-mark{width:34px;height:34px}
  .header-inner>p{display:none}
  .mobile-menu-button{margin-left:auto;width:38px;height:38px}

  /* Mobile hero: same design, proper smartphone composition */
  .mobile-hero{padding-bottom:20px}
  .mobile-area-band{border-top:0;border-bottom:2px solid var(--gold);font-size:11px;padding:7px 9px}
  .mobile-hero-main{display:block;position:relative;min-height:300px;overflow:hidden;background:#fff}
  .mobile-hero-main:after{content:"";position:absolute;right:0;top:0;width:48%;height:100%;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.62) 16%,rgba(255,255,255,0) 48%);z-index:1;pointer-events:none}
  .mobile-hero-copy{position:relative;z-index:3;width:72%;padding:21px 0 12px 16px}
  .mobile-hero-copy h1{margin:0;font-family:var(--serif);font-weight:600;line-height:1.14;letter-spacing:-.025em}
  .mobile-title-line{display:block;white-space:nowrap;font-size:37px;color:#111!important}
  .mobile-title-first{font-size:29px;margin-bottom:6px;letter-spacing:-.035em}
  .mobile-title-first strong{color:#0d48b5;font-weight:600}
  .mobile-title-first i{color:var(--gold);font-size:.8em;margin:0 .12em}
  .mobile-title-line em{color:#0d48b5!important;font-style:normal}
  .mobile-hero-photo{position:absolute;right:0;top:0;width:48%;height:300px;min-height:0;background-position:52% 4%;background-size:cover}
  .mobile-hero-photo:before{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.55) 15%,rgba(255,255,255,0) 42%),linear-gradient(0deg,#fff 0%,rgba(255,255,255,.0) 26%)}
  .mobile-hero-lead{margin:-2px 16px 14px;padding:0;font-size:12.5px;line-height:1.72;font-weight:600;color:#262d35}

  .mobile-features{gap:7px;padding:0 14px 11px}
  .mobile-features>div{grid-template-columns:38px 1fr 16px;min-height:53px;padding:7px 11px;border-radius:7px}
  .mobile-features>div:after{content:"›";font-size:24px;color:#e4bd5a;line-height:1}
  .mobile-features svg{width:28px;height:28px}
  .mobile-features b{font-size:14px}
  .mobile-features span{font-size:10px}

  .mobile-hero-cta{min-height:56px;margin:0 14px 0;grid-template-columns:40px 1fr 18px;padding:6px 13px 6px 8px}
  .mobile-hero-cta>span{width:38px;height:38px}
  .mobile-hero-cta b{font-size:16px}
  .mobile-hero-cta i{font-size:27px}
  .mobile-security{margin:7px 0 12px}
  .mobile-report-card{margin:0 14px 0;padding:12px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.08)}

  /* Global mobile rhythm */
  .content-wrap{padding:29px 15px 25px}
  .section-display,.section-display.compact{font-size:31px;line-height:1.27}
  .section-intro,.section-intro.compact{font-size:13px;line-height:1.68;margin-bottom:18px}
  .line-heading{font-size:20px;margin:20px 0 12px}

  /* Comparison: one glance, two clearly separated outcomes */
  .compare-table{gap:8px}
  .compare-table>div:not(.compare-head){border-radius:8px;box-shadow:0 2px 7px rgba(0,0,0,.035)}
  .compare-table>div>b{padding:8px 10px!important;font-size:12px!important;background:#f0ece4!important}
  .compare-table>div>b svg{width:20px;height:20px}
  .compare-table>div>span,.compare-table>div>strong{position:relative;padding:8px 10px 8px 92px!important;min-height:45px!important;font-size:11.5px!important;line-height:1.5!important}
  .compare-table>div>span:before,.compare-table>div>strong:before{position:absolute;left:10px;top:9px;width:73px;font-size:9.5px;line-height:1.35;font-weight:800}
  .compare-table>div>span:before{content:"一般的な\A一括査定";white-space:pre;color:#6d6d6d}
  .compare-table>div>strong:before{content:"相模原\A査定ナビ";white-space:pre;color:#0a654d}
  .compare-table>div>strong{background:#edf8f3!important}

  /* Authority: fix oversized mid-page woman photo */
  .authority-columns{gap:12px}
  .consultant-content{display:grid;grid-template-columns:104px 1fr;min-height:0!important;align-items:stretch}
  .consultant-content img{width:104px!important;height:222px!important;object-fit:cover!important;object-position:50% 18%!important;align-self:center;border-radius:0 0 0 7px}
  .consultant-content ul{margin:0;padding:7px 9px}
  .consultant-content li{font-size:11.5px;padding:8px 4px 8px 24px;line-height:1.4}
  .authority-card>h3{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:16px!important;padding:10px!important}
  .title-icon svg{width:20px;height:20px}
  .network{height:255px!important;transform:scale(.84)!important;margin-bottom:-40px!important}
  .expert-card>p{font-size:11.5px!important;line-height:1.6!important;padding:0 12px 12px!important}

  /* Flow: compact 2x2 instead of four oversized vertical cards */
  .flow-card{padding:17px 10px!important}
  .flow-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
  .flow-grid>i{display:none!important}
  .flow-grid>article{min-height:150px!important;padding:25px 8px 10px!important}
  .flow-grid>article span{width:28px!important;height:28px!important;font-size:12px!important;top:-13px!important}
  .flow-grid>article svg{width:38px!important;height:38px!important;margin:0 auto 6px!important}
  .flow-grid>article b{font-size:14px!important;line-height:1.35!important}
  .flow-grid>article p{font-size:10.5px!important;line-height:1.45!important}

  /* 5 strengths */
  .ten-strengths{padding:33px 12px 8px;margin-top:24px}
  .ten-strengths>h3{font-size:18px;padding:6px 19px}
  .five-strength-grid{grid-template-columns:1fr!important}
  .five-strength-grid article{grid-template-columns:32px 40px 1fr!important;border-right:0!important;border-bottom:1px dashed #d9ccb3!important;padding:11px 0!important}
  .five-strength-grid article:last-child{border-bottom:0!important}
  .five-strength-grid article>span{width:29px!important;height:29px!important}
  .five-strength-grid article>svg{width:34px!important;height:34px!important}
  .five-strength-grid b{font-size:13.5px!important}
  .five-strength-grid p{font-size:10.8px!important;line-height:1.5!important}

  /* Form overview: compact and scan-friendly */
  .form-title{font-size:27px;margin-bottom:14px}
  .five-step-overview{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .five-step-overview>i{display:none!important}
  .five-step-overview article{min-height:84px!important;grid-template-columns:30px 1fr 42px!important;padding:9px!important}
  .five-step-overview article:last-of-type{grid-column:1/-1}
  .five-step-overview article>span{width:27px!important;height:27px!important}
  .five-step-overview article b{font-size:12.5px!important;line-height:1.4!important}
  .five-step-overview article svg{width:35px!important;height:35px!important}

  /* Fixed CTA appears after user starts scrolling, and no longer covers content */
  .mobile-sticky-cta{padding:6px 9px calc(6px + env(safe-area-inset-bottom));transform:translateY(110%);opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}
  .mobile-sticky-cta.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
  .mobile-sticky-cta button{height:46px;font-size:15px}
}

@media(max-width:370px){
  .brand{font-size:18px}
  .mobile-title-line{font-size:34px}
  .mobile-title-first{font-size:26px}
  .mobile-hero-copy{width:73%;padding-left:13px}
  .mobile-hero-photo{width:47%}
}

/* === CLIENT DELIVERY FINAL QA: 2026-08-23 === */
@media(max-width:1050px){
  /* Do not stretch the consultant card to the height of the expert diagram. */
  .authority-columns{align-items:start!important}
  .consultant-card{align-self:start!important;height:auto!important;min-height:0!important}
  .consultant-content{grid-template-columns:120px minmax(0,1fr)!important;min-height:0!important;align-items:center!important}
  .consultant-content img{width:120px!important;height:230px!important;object-fit:cover!important;object-position:50% 18%!important;align-self:center!important}
  .consultant-content ul{align-self:center!important;padding:7px 10px!important}
  .consultant-content li{font-size:11.5px!important;line-height:1.35!important;padding:8px 3px 8px 24px!important}
  .benefit-strip>div b{font-size:12px!important;line-height:1.35!important}
}
@media(max-width:370px){
  .consultant-content{grid-template-columns:108px minmax(0,1fr)!important}
  .consultant-content img{width:108px!important;height:218px!important}
  .consultant-content li{font-size:10.7px!important;padding-left:23px!important}
}
@media(max-width:1050px){
  .consultant-content{height:auto!important}
}


/* === FINAL DELIVERY FIX 2026-08-23 ===
   Fixes: hero CTA overlap, mobile hero crop, authority illustration.
*/
@media(min-width:1051px){
  .hero{
    height:auto!important;
    min-height:820px!important;
    padding-bottom:34px!important;
  }
  .hero-content{
    padding-bottom:22px!important;
  }
  .hero-cta{
    margin-top:6px!important;
  }
}

/* Authority section: replace oversized person photo with an explanatory diagram */
.consultant-illustrated{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  min-height:0!important;
  align-items:stretch!important;
  background:#fff;
}
.consultant-visual{
  padding:18px 16px 16px;
  border-right:1px solid #e5dac6;
  background:linear-gradient(180deg,#fffdf9,#faf5eb);
}
.consultant-stage{
  position:relative;
  min-height:310px;
  border:1px solid #dfd2bb;
  border-radius:12px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 48%,rgba(4,88,64,.08),rgba(4,88,64,0) 48%),
    linear-gradient(180deg,#fff,#fbf7ef);
}
.consultant-stage:before,
.consultant-stage:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:#c8b487;
  z-index:0;
}
.consultant-stage:before{width:2px;height:112px;transform:translate(-50%,-50%)}
.consultant-stage:after{width:112px;height:2px;transform:translate(-50%,-50%)}
.consultant-core{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  width:158px;
  height:158px;
  border-radius:50%;
  border:4px solid #c89b3c;
  background:linear-gradient(180deg,#086448,#004c39);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 9px 22px rgba(0,0,0,.08);
}
.consultant-core-icon{
  width:50px;height:50px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.14);
  margin-bottom:6px;
}
.consultant-core-icon svg{width:29px;height:29px;color:#fff}
.consultant-core b{font-family:var(--serif);font-size:27px;line-height:1}
.consultant-core small{font-size:12px;margin-top:6px}
.consultant-bubble{
  position:absolute;
  z-index:3;
  width:176px;
  min-height:58px;
  border:1px solid #d7cab2;
  border-radius:999px;
  background:#fff;
  box-shadow:0 5px 13px rgba(0,0,0,.055);
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:7px;
  padding:8px 11px;
}
.consultant-bubble svg{width:20px;height:20px;color:var(--green);justify-self:center}
.consultant-bubble span{font-size:13.5px;line-height:1.35;font-weight:700;color:#17372d}
.bubble-a{left:12px;top:18px}
.bubble-b{right:12px;top:18px}
.bubble-c{left:12px;bottom:18px}
.bubble-d{right:12px;bottom:18px}
.consultant-caption{margin:12px 2px 0;font-size:13px;line-height:1.65;color:#384941}
.consultant-illustrated ul{
  margin:0!important;
  padding:18px 16px!important;
  list-style:none;
  align-self:center;
}
.consultant-illustrated li{
  position:relative;
  padding:14px 0 14px 37px!important;
  border-bottom:1px solid #ded7ca;
  font-size:15px!important;
  line-height:1.5!important;
}
.consultant-illustrated li:last-child{border-bottom:0}
.consultant-illustrated li:before{
  content:"✓";
  position:absolute;
  left:0;top:10px;
  width:26px;height:26px;
  border:2px solid var(--green);
  border-radius:50%;
  background:#fff;
  color:var(--green);
  display:grid;place-items:center;
  font-weight:800;
}

@media(max-width:1050px){
  .mobile-hero-photo{
    background-position:68% 4%!important;
  }
  .authority-columns{align-items:start!important}
  .consultant-card{height:auto!important;min-height:0!important;align-self:start!important}
  .consultant-illustrated{
    grid-template-columns:1fr!important;
    height:auto!important;
    min-height:0!important;
  }
  .consultant-visual{
    padding:12px 10px 10px;
    border-right:0;
    border-bottom:1px solid #e5dac6;
  }
  .consultant-stage{min-height:214px}
  .consultant-stage:before{height:70px}
  .consultant-stage:after{width:70px}
  .consultant-core{width:108px;height:108px;border-width:3px}
  .consultant-core-icon{width:36px;height:36px;margin-bottom:4px}
  .consultant-core-icon svg{width:20px;height:20px}
  .consultant-core b{font-size:20px}
  .consultant-core small{font-size:9px;margin-top:4px}
  .consultant-bubble{
    width:132px;
    min-height:43px;
    grid-template-columns:24px 1fr;
    gap:5px;
    padding:5px 7px;
  }
  .consultant-bubble svg{width:15px;height:15px}
  .consultant-bubble span{font-size:9.7px}
  .bubble-a{left:6px;top:8px}
  .bubble-b{right:6px;top:8px}
  .bubble-c{left:6px;bottom:8px}
  .bubble-d{right:6px;bottom:8px}
  .consultant-caption{margin:8px 2px 0;font-size:11px;line-height:1.55}
  .consultant-illustrated ul{padding:7px 10px 10px!important}
  .consultant-illustrated li{
    font-size:11.2px!important;
    line-height:1.4!important;
    padding:9px 0 9px 26px!important;
  }
  .consultant-illustrated li:before{
    top:7px;width:18px;height:18px;font-size:10px;border-width:1.5px;
  }
}
@media(max-width:370px){
  .mobile-hero-photo{background-position:72% 4%!important}
  .consultant-bubble{width:120px}
  .consultant-bubble span{font-size:9px}
}


/* === HOTFIX 2026-08-23-2 ===
   Only fix the PC first-view CTA overlap without changing other sections.
*/
@media(min-width:1051px){
  .hero{
    height:auto !important;
    min-height:940px !important;
    padding-bottom:96px !important;
  }
  .hero-content{
    padding-bottom:0 !important;
  }
  .hero-cta{
    margin-top:10px !important;
  }
  .hero-photo{
    height:calc(100% - 18px) !important;
  }
}


/* === authority proof insertion 2026-08-23 === */
.authority-proof{
  display:grid;
  grid-template-columns: 340px 1fr;
  gap:20px;
  margin:28px 0 24px;
  align-items:stretch;
}
.proof-card{
  background:#fff;
  border:1px solid #d9ccb0;
  border-radius:20px;
  box-shadow:0 10px 24px rgba(25,35,45,.06);
}
.proof-main{
  background:linear-gradient(135deg,#0a5a4a 0%, #0f7f62 100%);
  color:#fff;
  padding:28px 24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.proof-label{
  margin:0 0 10px;
  font-size:17px;
  font-weight:700;
  letter-spacing:.04em;
}
.proof-number{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:6px;
  line-height:1;
  margin:6px 0 10px;
}
.proof-number strong{
  font-size:76px;
  font-weight:800;
  color:#fff;
}
.proof-number span{
  font-size:28px;
  font-weight:700;
  padding-bottom:10px;
}
.proof-note{
  margin:0;
  font-size:14px;
  opacity:.92;
}
.proof-sub{
  padding:24px 26px;
  display:flex;
  align-items:center;
  gap:20px;
}
.proof-icon{
  width:82px;
  height:82px;
  flex:0 0 82px;
  border-radius:50%;
  background:linear-gradient(135deg,#0d735d 0%, #0a5a4a 100%);
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:inset 0 0 0 4px rgba(212,170,62,.18);
}
.proof-icon svg{
  width:38px;
  height:38px;
  fill:currentColor;
}
.proof-title{
  margin:0 0 8px;
  font-size:26px;
  font-weight:800;
  color:#153229;
}
.proof-desc{
  margin:0;
  color:#333;
  font-size:16px;
  line-height:1.8;
}
@media (max-width:1050px){
  .authority-proof{
    grid-template-columns:1fr;
    gap:14px;
    margin:20px 0 18px;
  }
  .proof-main{
    padding:22px 18px;
  }
  .proof-number strong{
    font-size:56px;
  }
  .proof-number span{
    font-size:22px;
    padding-bottom:7px;
  }
  .proof-sub{
    padding:18px 16px;
    gap:14px;
  }
  .proof-icon{
    width:64px;
    height:64px;
    flex-basis:64px;
  }
  .proof-icon svg{
    width:30px;
    height:30px;
  }
  .proof-title{
    font-size:20px;
  }
  .proof-desc{
    font-size:14px;
    line-height:1.7;
  }
}
@media (max-width:640px){
  .proof-sub{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* === Requested-only patch: authority overlap + FAQ/company block === */
/* Keep the existing authority design, but make the four explanatory pills fit cleanly. */
@media(min-width:1051px){
  .consultant-stage{min-height:336px!important;}
  .consultant-bubble{
    width:142px!important;
    min-height:52px!important;
    grid-template-columns:28px 1fr!important;
    gap:6px!important;
    padding:7px 9px!important;
  }
  .consultant-bubble svg{width:17px!important;height:17px!important;}
  .consultant-bubble span{font-size:11.5px!important;line-height:1.3!important;}
  .bubble-a{left:14px!important;top:18px!important;}
  .bubble-b{right:14px!important;top:18px!important;}
  .bubble-c{left:14px!important;bottom:18px!important;}
  .bubble-d{right:14px!important;bottom:18px!important;}
  .consultant-core{width:148px!important;height:148px!important;}
}

.company-info-placeholder{
  background:#f8f5ed;
  border-top:1px solid #d9ccb0;
  padding:46px 20px;
}
.company-info-inner{
  width:min(100%,1024px);
  margin:0 auto;
  border:1px solid #d8cbb3;
  border-radius:12px;
  background:#fff;
  padding:30px 34px;
}
.company-info-inner h2{
  margin:0 0 8px;
  text-align:center;
  font-family:var(--serif);
  font-size:30px;
  color:var(--green);
  font-weight:600;
}
.company-info-note{
  margin:0 0 22px;
  text-align:center;
  font-size:12px;
  color:#777;
}
.company-info-inner dl{margin:0;border-top:1px solid #e0d7c6;}
.company-info-inner dl>div{
  display:grid;
  grid-template-columns:180px 1fr;
  border-bottom:1px solid #e0d7c6;
}
.company-info-inner dt,
.company-info-inner dd{margin:0;padding:14px 16px;font-size:14px;line-height:1.55;}
.company-info-inner dt{background:#f4f0e8;font-weight:700;color:#263b34;}
.company-info-inner dd{background:#fff;}
@media(max-width:1050px){
  .company-info-placeholder{padding:30px 14px 84px;}
  .company-info-inner{padding:22px 16px;border-radius:10px;}
  .company-info-inner h2{font-size:25px;}
  .company-info-inner dl>div{grid-template-columns:100px 1fr;}
  .company-info-inner dt,.company-info-inner dd{padding:11px 10px;font-size:12px;}
}


/* === ONLY FIX: consultant illustration pill overlap 2026-08-23 === */
@media(min-width:1051px){
  .consultant-stage{
    min-height:336px!important;
  }
  .consultant-bubble{
    width:126px!important;
    min-height:50px!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:4px!important;
    padding:6px 7px!important;
  }
  .consultant-bubble svg{
    width:15px!important;
    height:15px!important;
  }
  .consultant-bubble span{
    min-width:0!important;
    font-size:10.5px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .bubble-a{left:5px!important;top:18px!important;}
  .bubble-b{right:5px!important;top:18px!important;}
  .bubble-c{left:5px!important;bottom:18px!important;}
  .bubble-d{right:5px!important;bottom:18px!important;}
  .consultant-core{
    width:126px!important;
    height:126px!important;
  }
  .consultant-core b{font-size:24px!important;}
  .consultant-core small{font-size:10px!important;}
}


/* === APPROVED FV IMAGE IMPLEMENTATION === */
.approved-fv{position:relative;width:100%;overflow:hidden;background:#fff}
.approved-fv img{display:block;width:100%;height:auto;margin:0;padding:0}
.approved-fv-sp{display:none}
.approved-fv-cta{position:absolute;border:0;background:transparent;cursor:pointer;z-index:5}
.pc-approved-fv-cta{left:5.9%;top:80.0%;width:47.2%;height:10.5%}
.sp-approved-fv-cta{left:3.4%;top:79.2%;width:93.0%;height:11.5%}
.site-header,.mobile-hero,.hero{display:none!important}
@media(max-width:767px){
  .approved-fv-pc{display:none}
  .approved-fv-sp{display:block}
}
@media(min-width:768px){
  .approved-fv-pc{display:block}
  .approved-fv-sp{display:none}
}

/* === COMPANY INFO / COPYRIGHT FINAL 2026-08-31 === */
.site-footer{
  display:block;
  text-align:center;
  background:#001b3f;
  color:#fff;
  padding:24px 14px 26px;
}
.site-footer p{font-family:var(--serif);font-size:18px;margin:0 0 8px;}
.site-footer nav{margin:0 0 10px;}
.site-footer a{color:#fff;font-size:12px;}
.site-footer small{display:block;color:#cbd5e6;font-size:11px;letter-spacing:.02em;}
.company-info-inner dd a{color:inherit;text-decoration:none;}
@media(max-width:1050px){
  .site-footer{padding:24px 14px calc(90px + env(safe-area-inset-bottom));}
}
