:root{--primary:#2d8090;--primary-bright:#287b8c;--primary-soft:#e9f3f5;--deep:#315f68;--deep-2:#294f57;--ink:#263a3f;--muted:#5f6b6e;--line:#dde7e9;--tint:#f5f9fa;--white:#fff;--on-primary:#fff;--navy:var(--deep);--navy-2:var(--deep-2);--blue:var(--primary);--accent:var(--primary-bright);--max:1180px;--shadow:0 18px 45px rgba(49,95,104,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:17px;line-height:1.85;background:#fff}img{max-width:100%}a{color:inherit}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.narrow{max-width:880px}.skip-link{position:fixed;top:-100px;left:12px;z-index:9999;padding:10px 16px;background:#fff}.skip-link:focus{top:12px}.eyebrow{margin:0 0 14px;color:var(--blue);font:700 12px/1.3 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.section{padding:110px 0}.section-tint{background:var(--tint)}.section-navy{background:var(--navy);color:#fff}.section-heading{max-width:700px;margin-bottom:50px}.section-heading h2,.feature-intro h2,.area-grid h2,.company-grid h2,.final-contact h2{margin:0 0 22px;font-size:clamp(30px,4vw,48px);line-height:1.35;letter-spacing:.03em}.section-heading>p:last-child{margin:0;color:var(--muted)}.section-heading.light>p:last-child{color:#d7e2ea}.center{text-align:center}.note{font-size:13px;color:#c8d4dd}.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:13px 28px;border:1px solid var(--blue);border-radius:3px;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.03em;transition:.2s}.button:hover{background:var(--navy-2);transform:translateY(-1px)}.button-outline{border-color:#fff;background:transparent}.button-light{background:#fff;color:var(--navy);border-color:#fff}.button-small{min-height:46px;padding:8px 18px}.text-link,.text-button{display:inline-flex;align-items:center;gap:14px;color:var(--blue);font-weight:700;text-decoration:none}.text-button{padding-bottom:5px;border-bottom:1px solid currentColor}.text-link span,.text-button span{font-size:24px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(11,41,69,.1)}.header-inner{width:min(calc(100% - 32px),1320px);min-height:82px;margin:auto;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap}.brand-mark{font:bold 29px/1 Georgia,serif;color:var(--navy);letter-spacing:-.04em}.brand-text{font-size:12px;font-weight:700;line-height:1.35}.brand-text small{display:block;color:var(--muted);font-size:9px;font-weight:500}.global-nav{display:flex;align-items:center;gap:22px;margin-left:auto}.global-nav a{text-decoration:none;font-size:14px;font-weight:700}.global-nav a:hover{color:var(--blue)}.header-contact{display:flex;align-items:center;gap:14px}.header-contact>span{font-size:10px;color:var(--muted);line-height:1.3;text-align:right}.header-contact b{display:block;color:var(--navy);font-size:16px}.menu-button{display:none}
.hero{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;background:var(--navy)}.hero-photo{position:absolute;inset:0 0 0 42%;height:100%;border-radius:0}.hero-photo:after{background-image:linear-gradient(135deg,transparent 49.5%,rgba(255,255,255,.22) 50%,transparent 50.5%)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,41,69,.99) 0%,rgba(11,41,69,.94) 43%,rgba(11,41,69,.23) 72%,rgba(11,41,69,.08))}.hero-content{position:relative;color:#fff;padding-block:80px}.hero-content .eyebrow{color:#9fd4e3}.hero h1{max-width:850px;margin:0 0 28px;font-size:clamp(36px,5vw,64px);line-height:1.34;letter-spacing:.04em}.hero-lead{margin:0 0 36px;font-size:clamp(17px,2vw,21px);line-height:1.9}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero-actions .text-link{margin-left:10px;color:#fff}.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-strip .container{display:grid;grid-template-columns:repeat(3,1fr)}.trust-strip span{padding:20px;text-align:center;color:var(--muted);font-size:13px;border-left:1px solid var(--line)}.trust-strip span:last-child{border-right:1px solid var(--line)}.trust-strip b{margin-right:12px;color:var(--navy);font-size:16px}
.placeholder-photo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;overflow:hidden;border-radius:4px;color:rgba(255,255,255,.92);background:linear-gradient(135deg,#47677f,#91a9b7)}.placeholder-photo:before,.placeholder-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(30deg,transparent 49.7%,rgba(255,255,255,.13) 50%,transparent 50.3%)}.placeholder-photo:after{transform:scaleX(-1)}.placeholder-photo>*{position:relative;z-index:1}.placeholder-photo span{font:bold 11px Arial;letter-spacing:.2em}.placeholder-photo b{font-size:18px}.placeholder-photo small{font-size:11px}.type-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.type-grid article{min-height:235px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.type-grid i{color:var(--blue);font:700 12px Arial;font-style:normal}.type-grid h3{margin:28px 0 10px;font-size:19px}.type-grid p{margin:0;color:var(--muted);font-size:14px}.type-grid .type-highlight{background:var(--navy);color:#fff}.type-grid .type-highlight i,.type-grid .type-highlight p{color:#c9d7e1}
.split-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.problem-list{border-top:1px solid #cfd9df}.problem-list p{display:flex;align-items:center;gap:24px;margin:0;padding:18px 8px;border-bottom:1px solid #cfd9df;font-weight:700}.problem-list span{color:var(--blue);font:700 11px Arial}.feature-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:70px}.portrait{min-height:480px}.feature-intro p:last-child,.company-grid p{color:var(--muted)}.strength-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.strength-grid article{padding:28px 24px;background:#fff}.strength-grid b{color:var(--blue);font:700 12px Arial}.strength-grid h3{min-height:54px;margin:30px 0 15px;font-size:18px;line-height:1.5}.strength-grid p{margin:0;color:var(--muted);font-size:14px}.comparison-wrap{overflow-x:auto;background:#fff;color:var(--ink);box-shadow:var(--shadow)}table{width:100%;min-width:700px;border-collapse:collapse}th,td{padding:18px 24px;border:1px solid var(--line);text-align:left}thead th{background:#e8eff3;color:var(--navy)}thead th:not(:first-child){text-align:center}tbody th{width:22%;color:var(--navy)}tbody td{width:39%}.section-navy .center{margin-top:32px}
.heading-row{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:30px}.heading-row>p{max-width:400px}.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 20px}.case-card{background:#fff;border:1px solid var(--line);transition:.2s}.case-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.case-card .placeholder-photo{min-height:175px;border-radius:0}.case-card>div:last-child{padding:20px}.case-card small{color:var(--blue);font-weight:700}.case-card h3{margin:8px 0;font-size:17px;line-height:1.5}.case-card p{margin:0;color:var(--muted);font-size:13px}.case-grid+.center{margin-top:45px}.flow-list{display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:0;list-style:none;counter-reset:flow}.flow-list li{position:relative;padding:0 20px;border-left:1px solid #cbd6dc}.flow-list li:last-child{border-right:1px solid #cbd6dc}.flow-list b{color:var(--blue);font:700 28px Arial}.flow-list h3{margin:28px 0 12px;font-size:17px}.flow-list p{margin:0;color:var(--muted);font-size:13px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{position:relative;padding:24px 54px 24px 54px;cursor:pointer;font-weight:700;list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:"Q";position:absolute;left:10px;top:19px;color:var(--blue);font:700 22px Georgia}summary:after{content:"＋";position:absolute;right:10px;font-size:22px;font-weight:400}details[open] summary:after{content:"−"}details p{margin:0;padding:0 54px 25px;color:var(--muted)}
.area-section{background:#e7eff2}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.area-grid>div>p{color:var(--muted)}.area-tags{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none}.area-tags li{padding:8px 15px;border:1px solid #a9bdc8;border-radius:30px;background:rgba(255,255,255,.6);font-size:14px;font-weight:700}.map-placeholder{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #9db1bd;background:radial-gradient(circle at 40% 45%,#fff 0 4%,transparent 4.5%),linear-gradient(35deg,transparent 35%,rgba(23,107,135,.15) 36% 62%,transparent 63%);color:var(--navy)}.map-placeholder span{font:bold 11px Arial;letter-spacing:.2em}.map-placeholder b{font-size:20px}.map-placeholder small{color:var(--muted)}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.company-photo{min-height:580px}.profile-placeholder{padding:15px;border-left:3px solid var(--blue);background:var(--tint);font-weight:700}.news-list{border-top:1px solid #cbd6dc}.news-list article{display:grid;grid-template-columns:120px 110px 1fr;gap:20px;align-items:center;padding:22px 5px;border-bottom:1px solid #cbd6dc}.news-list time{color:var(--muted);font-size:14px}.news-list small{color:var(--blue);font-weight:700}.news-list h3{margin:0;font-size:16px}.news-list a{text-decoration:none}
.final-contact{padding:110px 0;text-align:center;color:#fff;background:linear-gradient(135deg,#0b2945,#176b87)}.final-contact .eyebrow{color:#a9d9e7}.final-contact>div>p:not(.eyebrow):not(.contact-note){max-width:700px;margin:0 auto 45px;color:#dce9ef}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.contact-grid a{display:flex;min-height:175px;flex-direction:column;justify-content:center;padding:25px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08);color:#fff;text-decoration:none}.contact-grid a:first-child{background:#fff;color:var(--navy)}.contact-grid small{font-size:12px}.contact-grid b{margin:8px 0;font-size:23px}.contact-grid span{font-size:13px;font-weight:700}.contact-note{font-size:12px;color:#c8dce6}.site-footer{padding:70px 0 20px;background:#071c2e;color:#d4dfe7}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.footer-brand .brand-mark{color:#fff}.footer-brand{margin-bottom:24px}.footer-grid p{color:#aebdca;font-size:13px}.footer-grid nav{display:grid;grid-template-columns:repeat(2,1fr);align-content:start;gap:14px}.footer-grid nav a{text-decoration:none;font-size:14px}.copyright{width:min(calc(100% - 40px),var(--max));margin:50px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:11px;color:#8095a5}.copyright span{float:right;color:#d49a62}.mobile-fixed{display:none}
@media(max-width:1100px){.header-contact>span{display:none}.global-nav{gap:14px}.global-nav a{font-size:12px}.strength-grid{grid-template-columns:repeat(3,1fr)}.case-grid{grid-template-columns:repeat(2,1fr)}.flow-list{grid-template-columns:repeat(3,1fr);gap:35px 0}.flow-list li:nth-child(3){border-right:1px solid #cbd6dc}.type-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){body{font-size:16px;padding-bottom:70px}.container{width:min(calc(100% - 32px),var(--max))}.section{padding:75px 0}.site-header{position:sticky}.header-inner{min-height:68px}.brand-mark{font-size:25px}.brand-text{font-size:10px}.brand-text small{display:none}.header-contact{display:none}.menu-button{display:flex;width:46px;height:52px;margin-left:auto;padding:8px 6px;border:0;background:none;flex-direction:column;align-items:center;justify-content:center;gap:4px}.menu-button span{display:block;width:24px;height:2px;background:var(--navy)}.menu-button b{font-size:8px;color:var(--navy)}.global-nav{display:none;position:absolute;top:68px;left:0;width:100%;padding:14px 20px 22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.global-nav.is-open{display:flex}.global-nav a{padding:10px 5px;font-size:15px;border-bottom:1px solid var(--line)}.hero{min-height:680px;align-items:end}.hero-photo{inset:0;height:52%;opacity:.8}.hero-overlay{background:linear-gradient(180deg,rgba(11,41,69,.3),rgba(11,41,69,.96) 48%,#0b2945 75%)}.hero-content{padding:250px 0 55px}.hero h1{font-size:clamp(32px,9vw,45px)}.hero-lead br{display:none}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .button{padding-inline:10px}.hero-actions .text-link{grid-column:1/-1;justify-content:center;margin:5px 0}.trust-strip .container{width:100%}.trust-strip span{padding:14px 4px;font-size:10px}.trust-strip b{display:block;margin:0;font-size:13px}.section-heading{margin-bottom:35px}.section-heading h2,.feature-intro h2,.area-grid h2,.company-grid h2,.final-contact h2{font-size:30px}.type-grid{grid-template-columns:1fr}.type-grid article{min-height:auto;padding:25px}.type-grid h3{margin:12px 0 6px}.split-heading,.feature-intro,.area-grid,.company-grid{grid-template-columns:1fr;gap:40px}.portrait,.company-photo{min-height:360px}.feature-intro .portrait{order:2}.strength-grid{grid-template-columns:1fr}.strength-grid h3{min-height:0;margin:12px 0 7px}.comparison-wrap{margin-right:-16px}.heading-row{display:block}.heading-row>p{margin-top:18px}.case-grid{gap:16px}.case-card .placeholder-photo{min-height:130px}.case-card>div:last-child{padding:15px}.flow-list{grid-template-columns:1fr 1fr;gap:28px 0}.flow-list li:nth-child(3){border-right:0}.flow-list li:nth-child(even){border-right:1px solid #cbd6dc}.news-list article{grid-template-columns:100px 1fr;gap:4px 12px}.news-list small{grid-column:2}.news-list h3{grid-column:1/-1;margin-top:8px}.contact-grid{grid-template-columns:1fr}.contact-grid a{min-height:135px}.footer-grid{grid-template-columns:1fr;gap:35px}.mobile-fixed{position:fixed;display:grid;grid-template-columns:1fr 1.35fr 1fr;bottom:0;left:0;z-index:1100;width:100%;height:68px;background:#fff;box-shadow:0 -4px 20px rgba(0,0,0,.15)}.mobile-fixed a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--navy);text-decoration:none;font-size:12px;font-weight:700;border-right:1px solid var(--line)}.mobile-fixed a.primary{background:var(--blue);color:#fff}.mobile-fixed span{font-size:13px}.desktop-only{display:none}}
@media(max-width:480px){.hero-actions{grid-template-columns:1fr}.hero-actions .text-link{grid-column:auto}.case-grid{grid-template-columns:1fr}.flow-list{grid-template-columns:1fr}.flow-list li,.flow-list li:nth-child(3),.flow-list li:nth-child(even){border-right:0}.area-grid{gap:30px}.map-placeholder{min-height:300px}.footer-grid nav{grid-template-columns:1fr 1fr}.copyright span{float:none;display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Renewal preview refinements using confirmed production content. */
@media(min-width:781px){
  .hero{min-height:700px}
  .hero-photo{inset:0 0 0 50%;height:100%;overflow:hidden;background:#d9e4ea}
  .hero-photo img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:100% 50%}
  .hero-overlay{background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 46%,rgba(11,41,69,.92) 53%,rgba(11,41,69,.14) 73%,rgba(11,41,69,.05) 100%)}
  .hero-content{padding-block:72px}
  .hero h1{width:max-content;max-width:67vw;font-size:clamp(40px,3.2vw,56px);line-height:1.34;letter-spacing:.015em}
  .hero-line{display:block;white-space:nowrap}
}
.section{padding-block:96px}
.feature-photo{margin:0;overflow:hidden;border-radius:4px;box-shadow:var(--shadow);background:#e8eef1}
.feature-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.case-card{overflow:hidden}
.case-card>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:#f3f0e9}
.case-card[data-case-type="land"]>img,.case-card[data-case-type="house"]>img{object-position:center}
.case-card h3{margin-bottom:0}
.company-identity{padding:48px;background:var(--tint)}
.company-identity>img{display:block;width:150px;height:150px;margin:0 auto 36px;object-fit:contain}
.company-identity dl{margin:0}
.company-identity dl>div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:13px 0;border-top:1px solid var(--line)}
.company-identity dt{color:var(--muted);font-size:13px}
.company-identity dd{margin:0;font-size:14px;font-weight:700}
.company-heading-line{display:inline}
.mobile-only-break{display:none}
.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin-inline:auto}

@media(max-width:1100px) and (min-width:781px){
  .hero h1{font-size:clamp(36px,3.7vw,42px)}
  .hero-lead{max-width:650px;font-size:17px}
  .header-inner{gap:18px}
}
@media(max-width:780px){
  .section{padding-block:68px}
  .hero-photo{inset:0;height:49%;opacity:1;background:#d9e4ea}
  .hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:100% 50%}
  .hero-overlay{background:linear-gradient(180deg,rgba(11,41,69,.12),rgba(11,41,69,.82) 42%,var(--navy) 62%)}
  .hero-content{padding:260px 0 50px}
  .hero h1{width:auto;max-width:none;font-size:clamp(31px,8.5vw,43px);line-height:1.38;letter-spacing:.01em}
  .hero-line{display:inline;white-space:normal}
  .hero-line:first-child:after{content:" "}
  .hero-actions{grid-template-columns:1fr}
  .feature-photo{order:2}
  .case-card>img{aspect-ratio:4/3}
  .company-identity{padding:32px 24px}
  .company-identity dl>div{grid-template-columns:90px 1fr;gap:12px}
  .contact-grid{grid-template-columns:1fr}
}

.case-card-link{display:block;height:100%;color:inherit;text-decoration:none}
.hero-phrase{display:inline-block}
.case-card-link>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:#f3f0e9}
.case-card-link>div{padding:20px}
.case-card-link h3{margin:8px 0 10px}
.case-card-link p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
a.case-card-link:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
@media(max-width:780px){
  .case-card-link>img{aspect-ratio:4/3}
  .case-card-link>div{padding:15px}
  .hero-line{display:block}
  .hero-line:first-child:after{content:none}
}

/* Final pre-production refinements */
.brand-logo{width:52px;height:52px;flex:0 0 auto;object-fit:contain;border-radius:2px}
.footer-brand .brand-logo{width:58px;height:58px}
#faq{padding-top:132px;scroll-margin-top:90px}
.area-cities{position:relative;overflow:hidden;display:grid;align-content:center;min-height:320px;padding:48px;border:1px solid #d9e1ea;border-radius:4px;background:linear-gradient(145deg,rgba(15,42,70,.04),rgba(15,42,70,.1)),#f8fafc}
.area-cities::before{content:"";position:absolute;top:-90px;right:-70px;width:250px;height:250px;border:1px solid rgba(15,42,70,.12);border-radius:50%}
.area-cities>p{position:relative;margin:0 0 24px;color:#8b6f42;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.area-cities>div{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.area-cities strong{display:grid;place-items:center;min-height:62px;padding:10px;border:1px solid rgba(15,42,70,.18);background:rgba(255,255,255,.86);color:#0f2a46;font-size:18px;letter-spacing:.06em}
.area-cities small{position:relative;margin-top:18px;color:#526273;font-size:14px}
.case-card-link>div{padding:16px 18px 18px}
.case-card-link h3{margin:7px 0 0}
@media(max-width:780px){
  #faq{padding-top:96px}
  .brand-logo{width:44px;height:44px}
  .footer-brand .brand-logo{width:52px;height:52px}
  .area-cities{min-height:auto;padding:30px 22px}
  .case-card-link>div{padding:12px 13px 14px}
}
@media(max-width:480px){
  body{font-size:15px;line-height:1.8}
  .container,.header-inner,.hero-content,.section-heading,.feature-intro>*,.split-heading>*,.area-grid>*,.company-grid>*{min-width:0}
  .hero{min-height:720px}
  .hero-content{width:calc(100% - 32px);padding-top:270px;padding-bottom:46px}
  .hero h1{max-width:100%;font-size:clamp(29px,8.2vw,35px);line-height:1.38;letter-spacing:0;overflow-wrap:anywhere}
  .hero-line,.hero-phrase{display:inline;white-space:normal}
  .hero-line:first-child::after{content:" ";}
  .hero-lead{max-width:100%;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
  .hero-actions{width:100%}
  .hero-actions .button{width:100%;min-width:0}
  .trust-strip .container{grid-template-columns:1fr}
  .trust-strip span{width:100%;padding:12px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .trust-strip b{display:inline;margin-right:10px}
  .type-grid,.strength-grid,.case-grid,.flow-list{grid-template-columns:1fr}
  .type-grid article,.strength-grid article,.case-card,.flow-list li{min-width:0}
  .type-grid p,.strength-grid p,.case-card small,.case-card h3,.flow-list p{overflow-wrap:break-word}
  .feature-intro h2,.section-heading h2,.area-grid h2,.company-grid h2,.final-contact h2{max-width:100%;font-size:clamp(26px,7.2vw,29px);line-height:1.5;letter-spacing:0;word-break:normal;overflow-wrap:break-word;line-break:strict}
  .mobile-only-break{display:block}
  .comparison-wrap{margin-right:0;overflow:visible;box-shadow:none;background:transparent}
  .comparison-wrap table{display:block;width:100%;min-width:0}
  .comparison-wrap thead{display:none}
  .comparison-wrap tbody{display:grid;gap:12px}
  .comparison-wrap tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;background:#fff;color:var(--ink);box-shadow:var(--shadow)}
  .comparison-wrap th,.comparison-wrap td{display:block;width:auto;padding:13px 12px;border:0;overflow-wrap:anywhere}
  .comparison-wrap tbody th{grid-column:1/-1;width:auto;border-bottom:1px solid var(--line);background:#e8eff3;font-size:14px}
  .comparison-wrap td{font-size:13px;line-height:1.65}
  .comparison-wrap td+td{border-left:1px solid var(--line)}
  .comparison-wrap td::before{display:block;margin-bottom:5px;color:var(--blue);font-size:11px;font-weight:700}
  .comparison-wrap td:nth-of-type(1)::before{content:"仲介売却"}
  .comparison-wrap td:nth-of-type(2)::before{content:"直接買取"}
  .case-grid{gap:16px}
  .case-card-link>img{aspect-ratio:3/2}
  .flow-list{gap:0}
  .flow-list li,.flow-list li:nth-child(3),.flow-list li:nth-child(even){padding:22px 8px;border-right:0;border-bottom:1px solid #cbd6dc}
  .flow-list h3{margin:10px 0 7px}
  .case-card small{display:block;font-size:12px;line-height:1.6}
  .case-card-link h3{font-size:15px;line-height:1.6}
  .area-cities strong{min-height:54px;font-size:16px}
  .company-identity{min-width:0;padding:28px 18px}
  .company-identity dl>div{grid-template-columns:78px minmax(0,1fr)}
  .company-identity dd{overflow-wrap:anywhere}
  .final-contact .container,.contact-grid,.contact-grid a{min-width:0}
  .footer-grid,.footer-grid>*,.footer-grid nav{min-width:0}
  .section-heading>p:last-child,.feature-intro>div>p:last-child,.area-grid>div>p,.company-grid>div:last-child>p:not(.eyebrow):not(.profile-placeholder),.final-contact>div>p:not(.eyebrow):not(.contact-note){font-size:15px;line-height:1.8}
  .type-grid p,.strength-grid p,.flow-list p,.problem-list p{font-size:14px;line-height:1.8}
  .faq-list summary{font-size:14px;line-height:1.7}
}

/* Bright teal, blue-gray and white color system */
body{background:var(--white)}
.site-header{border-bottom-color:rgba(49,95,104,.14)}
.global-nav a:hover,.text-link,.text-button,.eyebrow,.type-grid i,.problem-list span,.strength-grid b,.case-card small,.flow-list b,summary::before{color:var(--primary)}
.button{border-color:var(--primary-bright);background:var(--primary-bright);color:var(--white)}
.button:hover{border-color:var(--deep);background:var(--deep);color:var(--white)}
.button-outline{border-color:var(--primary);background:var(--white);color:var(--deep)}
.button-outline:hover{border-color:var(--deep);background:var(--deep);color:var(--white)}
.button-light{border-color:var(--primary-bright);background:var(--primary-bright);color:var(--white)}
.button-light:hover{border-color:var(--deep);background:var(--deep);color:var(--white)}
.hero{background:#f2f7f8}
.consultation-achievement{padding:34px 0 42px;background:var(--white);border-bottom:1px solid var(--line);text-align:center}
.consultation-achievement-inner{display:flex;flex-direction:column;align-items:center}
.consultation-achievement-preface{margin:0 0 8px;color:var(--muted);font-size:14px;letter-spacing:.08em}
.consultation-achievement-title{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:0;color:var(--ink);font-size:clamp(20px,1.7vw,25px);line-height:1.4;letter-spacing:.04em}
.consultation-achievement-title strong{color:var(--primary);font-family:Arial,sans-serif;font-size:clamp(48px,5vw,72px);font-weight:700;line-height:1;letter-spacing:.015em}
.consultation-achievement-line{display:block;width:44px;height:2px;margin:20px auto 16px;background:var(--primary)}
.consultation-achievement-copy{margin:0;color:var(--muted);font-size:15px;line-height:1.8}
.hero-overlay{background:linear-gradient(90deg,rgba(245,249,250,.99) 0%,rgba(245,249,250,.97) 45%,rgba(245,249,250,.88) 53%,rgba(245,249,250,.2) 74%,rgba(245,249,250,.03))}
.hero-content{color:var(--ink)}
.hero-content .eyebrow{color:var(--primary)}
.type-grid .type-highlight{background:#e6f1f3;color:var(--ink);box-shadow:inset 4px 0 0 var(--primary)}
.type-grid .type-highlight i{color:var(--primary)}
.type-grid .type-highlight p{color:var(--muted)}
.section-navy{background:#f2f7f8;color:var(--ink)}
.section-heading.light>p:last-child,.note{color:var(--muted)}
.section-tint{background:var(--tint)}
.comparison-wrap thead th,thead th{background:var(--primary-soft);color:var(--deep-2)}
.comparison-wrap tbody th,tbody th{color:var(--deep-2)}
.area-section{background:#f2f7f8}
.area-cities{border-color:var(--line);background:linear-gradient(145deg,rgba(47,130,147,.04),rgba(49,95,104,.08)),#fff}
.area-cities::before{border-color:rgba(49,95,104,.14)}
.area-cities>p{color:var(--primary)}
.area-cities strong{border-color:rgba(49,95,104,.2);color:var(--deep-2)}
.area-cities small{color:var(--muted)}
.profile-placeholder{border-left-color:var(--primary-bright)}
.final-contact{background:#edf5f6;color:var(--ink)}
.final-contact .eyebrow{color:var(--primary)}
.final-contact>div>p:not(.eyebrow):not(.contact-note){color:var(--muted)}
.final-contact .contact-grid a{border-color:var(--line);background:var(--white);color:var(--ink)}
.final-contact .contact-grid a:first-child{border-color:var(--primary-bright);background:var(--primary-bright);color:var(--white)}
.contact-note{color:var(--muted)}
.site-footer{background:var(--deep);color:var(--white)}
.footer-grid p{color:#e2ecee}
.copyright{color:#c7d8db}
.copyright span{color:#e1eff1}
.mobile-fixed{box-shadow:0 -4px 20px rgba(49,95,104,.16)}
.mobile-fixed a.primary{background:var(--primary-bright);color:var(--white)}
@media(max-width:780px){
  .hero-overlay{background:linear-gradient(180deg,rgba(242,247,248,.04),rgba(242,247,248,.76) 39%,#f2f7f8 58%)}
  .consultation-achievement{padding:30px 0 40px}
  .consultation-achievement-title{flex-direction:column;align-items:center;gap:2px;font-size:18px;line-height:1.5;letter-spacing:.03em}
  .consultation-achievement-title strong{margin:2px 0;font-size:clamp(50px,14vw,60px)}
  .consultation-achievement-line{margin:16px auto 14px}
  .consultation-achievement-copy{max-width:330px;font-size:14px;line-height:1.8}
  .menu-button span{background:var(--deep-2)}
  .menu-button b{color:var(--deep-2)}
}
@media(max-width:480px){
  .comparison-wrap tbody th{background:var(--primary-soft);color:var(--deep-2)}
  .comparison-wrap td::before{color:var(--deep)}
  #cases .case-grid{row-gap:16px}
  #cases .case-card-link>div{padding-top:11px}
  #cases .case-card-link h3{margin-top:5px}
  #cases .case-grid+.center{margin-top:24px}
  #flow .section-heading h2{display:block!important;width:100%!important;max-width:none!important;font-size:26px!important;line-height:1.4!important;letter-spacing:0!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}
  .case-card-link h3{word-break:keep-all;overflow-wrap:normal;line-break:strict}
  #company .company-grid h2{width:100%;font-size:clamp(24px,6.7vw,26px);line-height:1.5;letter-spacing:0;overflow-wrap:normal;word-break:normal}
  #company .company-heading-desktop-break{display:none}
  #company .company-heading-line{display:block;white-space:nowrap;word-break:keep-all}
  .company-identity{background:var(--white)}
  .company-identity>img{display:block;width:112px;height:auto;margin:0 auto 28px;padding:0;border:0;border-radius:0;background:var(--white);box-shadow:none;object-fit:contain}
  .footer-brand .brand-logo{width:44px;height:44px;padding:3px;border-radius:3px;background:var(--white)}
}

/* Compact mobile vertical rhythm; desktop and fixed CTA remain unchanged. */
@media(max-width:767px){
  .consultation-achievement{padding-top:16px;padding-bottom:28px}
  #property-types{padding-bottom:36px}
  #problems{padding-top:36px}
  #strengths{padding-bottom:36px}
  #comparison{padding-top:36px;padding-bottom:36px}
  #cases{padding-top:36px;padding-bottom:54px}
  #flow{padding-top:54px}
  #faq{padding-bottom:54px}

  #property-types .type-grid article{padding:16px 20px}
  #property-types .type-grid h3{margin:5px 0 2px}
  #property-types .type-grid p{line-height:1.65}

  #strengths .strength-grid article{padding:17px 20px}
  #strengths .strength-grid h3{margin:5px 0 3px}
  #strengths .strength-grid p{line-height:1.65}

  #cases .case-grid{row-gap:12px}

  #flow .flow-list li,
  #flow .flow-list li:nth-child(3),
  #flow .flow-list li:nth-child(even){padding-top:12px;padding-bottom:12px}
  #flow .flow-list h3{margin:5px 0 2px}
  #flow .flow-list p{line-height:1.7}

  #area{padding-top:54px;padding-bottom:24px}
  #company{padding-top:24px}
  #company .company-grid{gap:28px}
  #company .company-identity{padding-top:10px;padding-bottom:12px}
  #company .company-identity>img{margin-bottom:18px}
}
