@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');:root{font-family:'Noto Sans JP',system-ui,sans-serif;color:#191c22;background:#f5f6f7;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%}.header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,80px);background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e7e8ea}.brand img{width:126px;height:58px;object-fit:contain;object-position:left}.header nav{display:flex;gap:clamp(16px,2.5vw,40px);font-size:13px;font-weight:700}.header nav a:hover,.text-link:hover,.company a:hover{color:#dd0020}.header-contact{background:#dc0020;color:#fff;padding:14px 21px;font-weight:700;font-size:13px}.header-contact span{margin-left:18px}.hero{min-height:650px;background:#151923;color:white;display:flex;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 40%,#3c4657 0%,#232a36 34%,#151923 72%);opacity:1}.hero:after{content:'';position:absolute;width:45vw;height:45vw;border:1px solid #ffffff20;transform:rotate(45deg);right:-8vw;top:9%}.hero-inner{position:relative;z-index:1;width:100%;max-width:1440px;margin:auto;padding:100px clamp(24px,8vw,120px)}.eyebrow,.section-label{font-size:12px;letter-spacing:.2em;font-weight:800;color:#d70023}.hero .eyebrow{color:#ff5570}.hero h1{font-size:clamp(52px,7vw,104px);line-height:1.3;letter-spacing:-.06em;margin:22px 0 28px;font-weight:800}.hero h1 em{font-style:normal;color:#ff3858}.hero-lead{font-size:clamp(17px,2vw,21px);line-height:2;font-weight:600}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;padding:20px 25px;font-weight:700}.primary{background:#e00025;color:#fff}.primary:hover,.header-contact:hover{background:#b90020}.text-link{font-weight:700;font-size:13px}.hero-caption{font-size:12px;color:#bec2cd;margin-top:70px}.hero-side{position:absolute;z-index:1;right:35px;bottom:35px;display:flex;gap:18px;align-items:center;writing-mode:vertical-rl;font-size:10px;letter-spacing:.16em;color:#c7cbd2}.hero-side strong{font-size:35px;color:#e30029}.section{padding:clamp(70px,9vw,140px) clamp(24px,8vw,120px);max-width:1600px;margin:auto;scroll-margin-top:84px}.section h2{font-size:clamp(32px,3.8vw,58px);line-height:1.45;letter-spacing:-.045em;margin:18px 0 34px}.section p{font-size:16px;line-height:2.1;color:#50555e}.intro{display:grid;grid-template-columns:1fr 2fr;gap:60px;background:#fff}.intro p{max-width:750px}.services{background:#f1f2f4}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px}.section-head>p{max-width:390px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}.service-grid article{background:#fff;padding:36px;min-height:340px;border-top:3px solid #d90025;display:flex;flex-direction:column}.service-grid article>span{font-size:14px;color:#d90025;font-weight:800}.service-grid h3{font-size:23px;margin:50px 0 10px}.service-grid p{font-size:14px;line-height:1.9;margin:0}.service-grid small{margin-top:auto;padding-top:25px;color:#9aa0aa;letter-spacing:.14em}.about{background:#1c2029;color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.about-mark{font-size:clamp(65px,11vw,165px);font-weight:800;line-height:.95;letter-spacing:-.12em;overflow-wrap:anywhere;color:#333a46}.about-mark span{color:#dc0028}.about p{color:#d2d4da}.about-points{border-top:1px solid #454b56;margin-top:35px}.about-points div{border-bottom:1px solid #454b56;padding:18px 0;display:flex;gap:30px;align-items:center}.about-points b{color:#ff4863;font-size:13px}.about-points span{line-height:1.7}.rep{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,115px);align-items:center;background:#fff}.rep-photo{height:620px;overflow:hidden;background:#e5e5e5}.rep-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.signature{margin-top:40px;border-top:1px solid #ddd;padding-top:20px}.signature strong{font-size:22px;margin-left:14px}.signature small{display:block;color:#81858c;font-size:11px;margin-top:8px;letter-spacing:.1em}.company{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;background:#f3f4f5}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid #d8dade;padding:21px 0;line-height:1.8}.company dt{font-size:13px;color:#737981}.company dd{margin:0;font-size:15px}.company dd a{text-decoration:underline;text-underline-offset:3px}.company small{color:#737981}.contact{background:#d90024;color:#fff;text-align:center}.contact .section-label{color:#ffd0d7}.contact p{color:#fff}.contact-options{display:flex;gap:14px;max-width:800px;margin:40px auto}.contact-card{background:#fff;color:#20242a;flex:1;padding:29px;text-align:left;display:flex;flex-direction:column;gap:10px}.contact-card:hover{background:#f1f2f4}.contact-card span{font-size:11px;color:#cf0023;letter-spacing:.2em;font-weight:800}.contact-card strong{font-size:20px}.contact-card small{color:#656b74}.contact .contact-note{font-size:12px;color:#ffe3e8}.contact-note a{text-decoration:underline}footer{background:#161a22;color:#fff;padding:55px clamp(24px,8vw,120px);display:flex;justify-content:space-between;gap:40px}footer img{width:140px;background:#fff;padding:5px}footer p{font-size:13px;color:#aaa}.footer-right{display:flex;gap:22px;flex-wrap:wrap;align-content:end;font-size:12px}.footer-right small{width:100%;color:#8d929b}.policy{max-width:900px;margin:auto;padding:80px 24px 120px}.policy h1{font-size:42px}.policy h2{font-size:22px;margin-top:48px}.policy p,.policy li{line-height:2;color:#434851}.policy a{text-decoration:underline}.policy ul{padding-left:22px}@media(max-width:900px){.header{height:72px}.header nav{display:none}.brand img{width:105px}.intro,.about,.rep,.company{grid-template-columns:1fr}.section-head{display:block}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:260px}.service-grid h3{margin-top:35px}.about-mark{font-size:90px}.rep-photo{height:490px;max-width:500px}.company dl>div{grid-template-columns:110px 1fr}}@media(max-width:600px){.header-contact{padding:12px;font-size:12px}.header-contact span{display:none}.hero{min-height:620px}.hero:before{background:linear-gradient(125deg,#222b3b,#151923)}.hero-inner{padding:78px 24px}.hero h1{font-size:52px}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px}.hero-side{display:none}.hero-caption{margin-top:55px}.section{scroll-margin-top:72px}.section-head>p{max-width:none}.about-mark{font-size:72px}.rep-photo{height:430px}.contact-options{flex-direction:column}.company dl>div{display:block}.company dt{margin-bottom:7px}footer{display:block}.footer-right{margin-top:35px}}

/* Services and housing guide */
.services-lead{font-size:18px!important;font-weight:600;white-space:nowrap;margin:0 0 10px}.service-grid{align-items:stretch}.service-grid article{height:100%}.service-top{display:flex;justify-content:space-between;align-items:start}.service-top>span:first-child{font-size:14px;color:#d90025;font-weight:800}.service-icon{display:grid;place-items:center;width:78px;height:78px;background:#f6f2f3;border-radius:22px;font-size:43px}.service-grid h3{margin-top:24px}.service-grid p{font-size:15px}.service-grid small{display:flex;justify-content:space-between}.service-grid small span{color:#d90025;font-weight:700;letter-spacing:0}.service-card-link{display:block}.service-card-link article{transition:transform .2s,box-shadow .2s}.service-card-link:hover article,.service-card-link:focus-visible article{transform:translateY(-5px);box-shadow:0 18px 35px #1c202925}.service-card-link:focus-visible{outline:3px solid #d90025;outline-offset:4px}.guide-hero{background:#1b202b;color:#fff;padding:90px clamp(24px,8vw,120px);overflow:hidden;position:relative}.guide-hero:after{content:'04';position:absolute;right:4%;top:-95px;font-size:330px;font-weight:800;color:#ffffff0d;pointer-events:none}.guide-hero .section-label{color:#ff667d}.guide-hero h1{position:relative;z-index:1;font-size:clamp(38px,5vw,72px);line-height:1.4;letter-spacing:-.04em;max-width:900px}.guide-hero p{position:relative;z-index:1;max-width:740px;line-height:2;font-size:17px;color:#e2e4e9}.guide-section{max-width:1250px;margin:auto;padding:90px 24px}.guide-section h2{font-size:clamp(28px,3vw,42px);line-height:1.5;margin:12px 0 30px}.guide-section p{line-height:2.1;color:#49505a;font-size:16px}.guide-prose{max-width:850px}.guide-prose p{margin:0 0 22px}.guide-callout{background:#fff;border-left:5px solid #df0027;padding:26px 32px;margin:35px 0;font-size:20px;font-weight:700;line-height:1.8}.flow-wrap{background:#eef0f2}.flow-intro{max-width:880px}.flow-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:42px}.flow-panel{background:#fff;padding:28px}.flow-panel.recommended{border-top:5px solid #dc0025}.flow-panel.common{border-top:5px solid #89909a}.flow-panel h3{font-size:22px;margin:8px 0}.flow-panel>p{font-size:14px;margin:0 0 23px}.flow-list{list-style:none;margin:0;padding:0}.flow-list li{display:flex;align-items:center;gap:14px;border-top:1px solid #e6e8eb;padding:11px 0;min-height:58px}.flow-list .step-num{color:#d70025;font-size:13px;font-weight:800;width:28px;flex:none}.flow-list .step-emoji{font-size:22px;width:30px;text-align:center;flex:none}.flow-list .step-name{font-weight:600;font-size:14px;line-height:1.5}.flow-list .focus-step{background:#fff3f5;margin:0 -12px;padding-left:12px;padding-right:12px;border-color:#ffe2e7}.flow-list .focus-step .step-name{color:#ae0020}.flow-panel .flow-foot{border-top:1px solid #e1e3e6;margin-top:14px;padding-top:15px;font-size:14px;line-height:1.8}.flow-panel .flow-foot strong{color:#b80022}.guide-closing{background:#fff}.guide-closing .guide-callout{background:#f1f2f4}.guide-cta{display:inline-flex;background:#d90025;color:#fff;padding:18px 27px;font-weight:700;margin-top:18px}.guide-cta:hover{background:#ae0020}.guide-note{font-size:13px!important;color:#6a7078!important}.guide-footer{max-width:none}@media(max-width:900px){.services-lead{white-space:normal}.flow-columns{grid-template-columns:1fr}}@media(max-width:600px){.guide-hero{padding:70px 24px}.guide-hero:after{font-size:180px;top:-30px}.guide-section{padding:70px 24px}.flow-panel{padding:20px}.service-icon{width:66px;height:66px;font-size:37px}}

/* Monochrome icon and typography refinements */
.about-mark{display:flex;flex-direction:column;align-items:flex-start;gap:0;overflow-wrap:normal;font-size:clamp(72px,9vw,132px);letter-spacing:-.105em;line-height:.93}.about-mark span:first-child{color:#dc0028}.about-mark span:last-child{color:#39414e}.service-icon{border:1px solid #e0e2e5;border-radius:18px;background:#f6f7f8;color:#242b34;font-family:Arial,sans-serif;font-size:48px;font-weight:400;line-height:1}.service-grid article:nth-child(2) .service-icon{font-size:53px}.service-card-link .service-icon{font-size:48px}.step-emoji{color:#343c46;font-family:Arial,sans-serif;font-weight:700;font-size:23px!important}.services-lead{font-size:clamp(14px,1.2vw,17px)!important;letter-spacing:-.025em}.guide-hero p{max-width:none;font-size:clamp(13px,1.1vw,16px);letter-spacing:-.025em;white-space:nowrap}.flow-conclusion{margin-top:20px;padding:24px;background:#d90025;color:#fff}.flow-conclusion>span{display:block;font-size:12px;font-weight:800;letter-spacing:.08em}.flow-conclusion strong{display:block;font-size:clamp(27px,3vw,39px);line-height:1.35;letter-spacing:-.04em;margin:12px 0}.flow-conclusion p{margin:0;color:#fff;font-size:14px;line-height:1.8}@media(max-width:1100px){.services-lead,.guide-hero p{white-space:normal}}@media(max-width:900px){.about-mark{font-size:clamp(82px,15vw,130px)}}

.service-icon,.step-emoji{filter:grayscale(1) contrast(1.25)}

/* Final content refinements */
.service-top{align-items:center;min-height:160px}.service-illustration{display:block;width:175px;height:150px;object-fit:contain;object-position:center;filter:grayscale(1);margin:-10px -10px 0 0}.service-grid article{padding:28px 31px;min-height:410px}.service-grid h3{margin-top:8px}.guide-cost-line{white-space:nowrap;font-size:clamp(14px,1.26vw,18px);letter-spacing:-.04em;padding:24px 26px}.guide-prose:not(.guide-closing){max-width:1350px}.guide-prose:not(.guide-closing)>p{max-width:850px}.guide-prose:not(.guide-closing) .guide-cost-line{max-width:1250px}.guide-closing{max-width:1300px}.guide-closing>p{max-width:850px}.guide-closing .guide-callout{max-width:850px}.closing-title{white-space:nowrap;font-size:clamp(25px,2.8vw,39px)!important;letter-spacing:-.04em}.common-conclusion{background:#303640}.common-conclusion strong{color:#fff}.flow-panel{display:flex;flex-direction:column}.flow-panel .flow-list{flex:1}.flow-panel .flow-conclusion{min-height:176px}.about-points span{font-size:15px}@media(max-width:1000px){.guide-cost-line,.closing-title{white-space:normal}}@media(max-width:600px){.service-top{min-height:128px}.service-illustration{width:130px;height:120px}.service-grid article{min-height:0}.guide-cost-line{font-size:17px;padding:23px}.flow-panel .flow-conclusion{min-height:0}}
@media(min-width:901px){.service-illustration{width:230px;height:175px}.service-top{min-height:185px}.service-grid h3{margin-top:10px}}@media(max-width:900px){.service-illustration{width:190px;height:145px}}

/* Representative section */
.rep{grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr);gap:clamp(35px,6vw,85px)}.rep-photo{width:100%;max-width:340px;height:390px;justify-self:center}.rep-photo img{object-position:center 19%}.career{margin-top:30px;padding:21px 24px;background:#f4f5f6;border-left:3px solid #d90025}.career span{font-size:11px;letter-spacing:.16em;color:#bb0020;font-weight:800}.career p{font-size:14px;line-height:1.9;margin:8px 0 0}.signature{margin-top:24px}@media(max-width:900px){.rep{grid-template-columns:1fr}.rep-photo{max-width:290px;height:350px;justify-self:start}}@media(max-width:600px){.rep-photo{max-width:240px;height:300px}}

/* Comparison introduction */
.flow-wrap>.guide-section{max-width:1600px}.flow-intro{max-width:none;white-space:nowrap;font-size:clamp(14px,1vw,16px)!important;letter-spacing:-.035em}.flow-columns{max-width:1200px;margin-left:auto;margin-right:auto}@media(max-width:1250px){.flow-intro{white-space:normal}}
