/* TOP editorial refresh. Other pages retain the shared site.css styles. */
.design-system{--warm:#f6f5ef;--rule:#d9d9cc;--quiet:#606455}
.design-system .icon{display:inline-block;width:24px;height:24px;flex:none;stroke-width:1.5;vertical-align:middle}
.design-system .site-header{height:88px;background:#fff}
.design-system .nav-contact{background:#e9d847;gap:14px;padding:12px 19px}
.design-system .nav-contact .icon{width:18px;height:18px}
.design-system .brand-dot{background:#a1b83d}
.design-system h2{font-size:clamp(27px,2.65vw,37px);font-weight:500;line-height:1.7;letter-spacing:.025em}
.design-system h3{font-weight:500}
.design-system .small-only{display:none}
.home-section{padding-block:100px}
.home-label{display:flex;align-items:center;gap:12px;color:#586044;font-size:12px;font-weight:500;letter-spacing:.05em;line-height:1.7;margin:0 0 25px}
.home-label:before{content:"";display:block;width:22px;height:2px;background:#9aa66e;flex:none}
.home-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;border-bottom:1px solid #9ea38e;font-size:13px;font-weight:500;transition:color .2s;flex-shrink:0}
.home-link .icon{width:20px;height:20px;transition:transform .2s}
.home-link:hover{color:#51632d}.home-link:hover .icon{transform:translateX(3px)}
.home-button{display:inline-flex;align-items:center;justify-content:center;min-height:60px;gap:14px;background:#e9d847;border:1px solid #e9d847;padding:15px 22px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s}
.home-button:hover{background:#dfcd35;border-color:#dfcd35}
.home-button .icon{width:20px;height:20px}
.home-button .icon-arrow-right{margin-left:22px}
.home-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0 70px;padding-top:76px;padding-bottom:0}
.home-location{display:flex;align-items:center;gap:9px;font-size:12px;color:#59604e;letter-spacing:.03em;margin:0 0 29px}
.home-location .icon{width:17px;height:17px}
.home-hero h1{font-size:clamp(36px,3.6vw,51px);line-height:1.7;font-weight:500;letter-spacing:.015em;margin:0}
.home-hero h1 span{white-space:nowrap}
.home-hero-lead{font-size:20px;line-height:1.9;font-weight:500;letter-spacing:.04em;margin:30px 0 17px}
.home-hero-description{font-size:14px;line-height:2.1;color:#54594d;margin:0}
.home-hero-actions{display:flex;align-items:center;gap:30px;margin-top:29px}
.home-journey{background:var(--warm);border:1px solid #e4e3d8;padding:25px 35px 22px;align-self:center;position:relative}
.home-journey:before{content:"";width:66px;height:4px;position:absolute;top:-1px;left:35px;background:linear-gradient(90deg,#e1d146,#a1b83d)}
.journey-caption{display:flex;justify-content:space-between;gap:20px;color:#6c6f61;font-size:10px;letter-spacing:.06em;margin-bottom:16px}
.journey-caption span:last-child{font-family:Arial,sans-serif;font-size:12px;letter-spacing:-.03em}
.design-system .home-journey h2{font-size:25px;line-height:1.7;margin:0 0 18px;font-weight:500}
.home-journey ol{list-style:none;margin:0}
.home-journey li{display:grid;grid-template-columns:52px 1fr;gap:19px;align-items:center;padding:17px 0;position:relative}
.home-journey li:not(:last-child){border-bottom:1px solid #dcddd0}
.journey-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:52px;height:56px;color:#4b583c}
.journey-icon .icon{width:38px;height:38px;stroke-width:1.3}
.home-journey li>div:last-child{position:relative;padding-left:0}
.journey-count{position:absolute;right:0;top:4px;color:#73796a;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.07em}
.home-journey h3{font-size:21px;line-height:1.6;margin:0 0 5px}
.home-journey li p{font-size:12px;line-height:1.7;margin:0;color:#646b59}
.home-journey li:not(:last-child):after{content:"";position:absolute;left:23px;bottom:-4px;width:5px;height:5px;border-right:1px solid #8d967a;border-bottom:1px solid #8d967a;transform:rotate(45deg);background:var(--warm);z-index:2}
.journey-footnote{font-size:11px;color:#60674f;border-top:1px solid #dcddd0;padding-top:17px;margin:6px 0 0}
.home-hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--rule);margin-top:56px;padding:23px 0;color:#626755;font-size:11px}
.home-hero-bottom p{margin:0}.home-hero-bottom a{display:flex;gap:25px;align-items:center}
.home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:48px}
.home-section-heading>p{font-size:14px;color:#606455;line-height:2.1;margin:0 0 5px}
.home-problems{background:#f7f7f2;border-top:1px solid #ecece3}
.concern-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.concern-columns article{padding:0 35px;border-left:1px solid #d9dbcd}
.concern-columns article:first-child{border-left:0;padding-left:0}.concern-columns article:last-child{padding-right:0}
.concern-tag{display:inline-block;font-size:12px;color:#576241;margin:0 0 19px;padding:0 0 5px;border-bottom:2px solid #c8d28e}
.concern-columns h3{font-size:23px;line-height:1.8;letter-spacing:.025em;margin:0 0 23px}
.concern-columns ul{list-style:none;font-size:12px;color:#636a59;margin:0}
.concern-columns li{padding-left:13px;position:relative;margin-top:5px}
.concern-columns li:before{content:"";position:absolute;left:0;top:.95em;width:4px;height:1px;background:#8a9278}
.concern-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #d9dbcd;margin-top:41px;padding-top:28px}
.concern-bottom p:first-child{font-size:17px;line-height:1.9;margin:0}.concern-bottom p:last-child{font-size:12px;line-height:1.9;color:#636a59;margin:0}
.home-concept{display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:start}
.design-system .home-concept h2{font-size:clamp(28px,2.85vw,40px);line-height:1.95}
.home-concept-copy{padding-top:47px}.home-emphasis{font-size:20px;line-height:1.9;color:#343b2c;margin-bottom:25px}
.home-concept-copy>p:not(.home-emphasis){font-size:14px;color:#616655;line-height:2.1}
.home-services{border-top:1px solid var(--rule);background:#fbfbf8}
.home-service-list{border-top:1px solid var(--rule)}
.home-service-row{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,1.4fr);gap:35px;padding:42px 0;border-bottom:1px solid var(--rule)}
.home-service-icon{display:flex;flex-direction:column;align-items:center;gap:15px;position:relative;color:#50603d}
.home-service-icon span{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.08em}
.home-service-icon .icon{width:39px;height:39px;stroke-width:1.25}
.home-service-icon:after{content:"";position:absolute;width:1px;background:#cbd0bd;top:92px;bottom:-70px;left:50%}
.home-service-row:last-child .home-service-icon:after{bottom:5px}
.home-service-title>p{font-size:12px;color:#6e755f;margin:0 0 13px}
.home-service-title h3{font-size:25px;line-height:1.65;letter-spacing:.015em}
.home-service-description>p{font-size:14px;line-height:2;margin:0 0 17px}
.home-service-description ul{display:flex;flex-wrap:wrap;gap:4px 16px;list-style:none;margin:0 0 16px;font-size:11px;color:#667154}
.home-service-description li{padding-left:11px;position:relative}.home-service-description li:before{content:"";position:absolute;width:4px;height:4px;background:#aab980;top:.8em;left:0}
.home-support{display:grid;grid-template-columns:1.05fr 1.4fr auto;gap:25px;align-items:center;padding-top:32px}
.home-support .home-label{font-size:10px;margin-bottom:7px}.home-support .home-label:before{display:none}
.home-support h3{font-size:17px}.home-support>p{font-size:12px;color:#69715d;line-height:1.9;margin:0}.home-support .home-link{font-size:12px}
.home-values{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}
.home-values article{display:grid;grid-template-columns:28px 1fr;gap:19px;padding:29px 0;border-top:1px solid var(--rule)}
.value-index{font-family:Arial,sans-serif;font-size:12px;color:#68734f;padding-top:6px}
.home-values h3{font-size:22px;line-height:1.7;margin:0 0 16px}.home-values p{font-size:14px;line-height:2;color:#626854;margin:0}
.home-process-section{background:var(--warm)}
.process-note{display:flex;gap:18px;align-items:center;color:#58624a}.process-note>.icon{width:35px;height:35px;stroke-width:1.3}
.process-note p{font-size:13px;margin:0;line-height:1.9}
.home-process{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0;padding:0}
.home-process li{position:relative;padding-right:27px;padding-top:0}.home-process li:last-child{padding-right:0}
.home-process li:before{content:"";position:absolute;height:1px;background:#bfc6ad;left:38px;right:0;top:18px}
.home-process li:last-child:before{display:none}
.home-process li:not(:last-child):after{content:"";position:absolute;right:8px;top:15px;width:6px;height:6px;border-top:1px solid #a2ac8c;border-right:1px solid #a2ac8c;transform:rotate(45deg)}
.process-count{display:flex;width:37px;height:37px;align-items:center;justify-content:center;border:1px solid #aebd8d;background:var(--warm);color:#506137;font-size:13px;border-radius:50%;font-family:Arial,sans-serif;position:relative;z-index:1}
.home-process h3{font-size:19px;margin:22px 0 12px;line-height:1.8}.home-process p{font-size:13px;line-height:1.9;color:#686e5c;margin:0}
.home-case-list{border-top:1px solid var(--rule)}
.home-case-list article{display:grid;grid-template-columns:115px minmax(0,1fr) auto;gap:25px;padding:28px 0;border-bottom:1px solid var(--rule);align-items:center}
.case-subject{font-size:11px;letter-spacing:.05em;color:#616d4a}.home-case-list h3{font-size:19px;letter-spacing:.02em;line-height:1.8;margin:0 0 9px}.home-case-list p{font-size:12px;color:#696f60;margin:0}.home-case-list .home-link{font-size:12px}
.home-message{background:#f5f4ee}
.home-message-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}
.design-system .message-heading h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:43px;font-weight:500;line-height:1.8;letter-spacing:.07em}
.message-heading>p:last-child{font-size:12px;margin-top:35px;line-height:2.1}.message-heading strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:24px;font-weight:500;margin-left:18px;letter-spacing:.13em}
.message-letter{padding:26px 0 15px 37px;border-left:1px solid #d7d7c9}.message-letter h3{font-size:24px;line-height:1.85;margin-bottom:22px}.message-letter p{font-size:14px;line-height:2.2;color:#616655}
.home-contact{border-top:1px solid #dbdfcf;padding:75px 0;background:#fff}
.home-contact-inner{display:grid;grid-template-columns:1.5fr 1fr;gap:75px;align-items:center}
.home-contact h2{font-size:33px}.home-contact p:not(.home-label):not(.contact-phone-label){font-size:14px;color:#616a53;margin-top:22px;margin-bottom:0}
.home-contact-actions{justify-self:end;min-width:290px}.home-contact-actions .home-button{width:100%;min-height:68px}
.contact-phone-label{font-size:11px;color:#68725b;margin:22px 0 5px}
.home-phone{display:flex;gap:13px;align-items:center;font-size:24px;line-height:1.7;letter-spacing:.025em;font-family:Arial,sans-serif}.home-phone .icon{width:19px;height:19px}
.design-system .site-footer{border-top:1px solid #e2e4d8}
@media(max-width:1200px){.home-hero{gap:0 45px;padding-top:58px}.home-hero h1{font-size:3.7vw}.home-journey{padding:22px 25px}.home-hero-actions{gap:22px}.home-button{padding-inline:17px}.home-button .icon-arrow-right{margin-left:10px}.home-hero-description{font-size:13px}.home-concept{gap:50px}.home-service-row{grid-template-columns:60px 1fr 1.35fr;gap:27px}.home-service-title h3{font-size:23px}.home-values{column-gap:45px}.home-message-inner{gap:55px}.home-section-heading>p{font-size:13px}.concern-columns article{padding-inline:25px}.concern-columns h3{font-size:21px}.home-contact-inner{gap:45px}.home-contact h2{font-size:30px}}
@media(max-width:1000px){.design-system .site-header{height:82px}.home-hero{grid-template-columns:1.2fr 1fr;gap:0 28px}.home-hero h1{font-size:3.7vw}.home-journey{padding:20px}.home-hero-description br{display:none}.home-hero-description{max-width:410px}.home-hero-lead{font-size:18px}.home-hero-actions{flex-wrap:wrap;gap:15px}.home-hero-actions .home-link{min-height:40px;font-size:12px}.home-hero-actions .home-button{min-height:54px;font-size:12px;gap:10px}.home-journey li{grid-template-columns:43px 1fr;gap:12px}.journey-icon{width:43px}.journey-icon .icon{width:32px;height:32px}.design-system .home-journey h2{font-size:22px}.home-journey h3{font-size:19px}.home-journey li p{font-size:11px}.home-hero-bottom{margin-top:40px;font-size:10px}.home-section{padding-block:78px}.home-section-heading{gap:30px}.design-system h2{font-size:30px}.home-concept{gap:40px}.design-system .home-concept h2{font-size:29px}.home-emphasis{font-size:18px}.home-service-row{grid-template-columns:50px 1fr 1.2fr;gap:22px}.home-service-title h3{font-size:20px}.home-support{grid-template-columns:1fr 1.2fr}.home-support>.home-link{grid-column:2;justify-self:start}.concern-columns article{padding-inline:20px}.concern-columns h3{font-size:19px}.concern-columns ul{font-size:11px}.home-values h3{font-size:20px}.home-process h3{font-size:16px}.home-process p{font-size:12px}.home-case-list article{grid-template-columns:80px 1fr;gap:12px 25px}.home-case-list .home-link{grid-column:2;justify-self:start}.home-message-inner{grid-template-columns:.9fr 1.1fr;gap:35px}.design-system .message-heading h2{font-size:35px}.message-letter{padding-left:25px}.message-letter h3{font-size:22px}.home-contact-inner{gap:30px}.home-contact-actions{min-width:245px}.home-contact h2{font-size:27px}}
@media(max-width:700px){.design-system .site-header{height:74px}.home-hero{display:block;padding-top:37px}.home-location{font-size:10px;margin-bottom:22px;gap:7px}.home-location .icon{width:15px;height:15px}.home-hero h1{font-size:clamp(27px,7.5vw,43px);line-height:1.8;letter-spacing:.02em}.home-hero-lead{font-size:18px;margin:22px 0 14px;line-height:1.85}.home-hero-description{font-size:13px;line-height:2.1;max-width:100%}.home-hero-description br{display:block}.home-hero-actions{display:flex;gap:20px;margin-top:24px;align-items:center}.home-hero-actions .home-button{font-size:12px;min-height:54px;padding:13px 16px;gap:9px}.home-button .icon-arrow-right{margin-left:5px}.home-hero-actions .home-button .icon-mail{display:none}.home-hero-actions .home-link{font-size:12px;gap:13px}.home-journey{margin-top:39px;padding:20px 23px 18px}.home-journey:before{left:23px;width:52px;height:3px}.journey-caption{margin-bottom:12px;font-size:10px}.design-system .home-journey h2{font-size:20px;margin-bottom:12px;line-height:1.7}.home-journey h2 br{display:block}.home-journey li{grid-template-columns:40px 1fr;gap:19px;padding:13px 0}.journey-icon{width:40px;height:45px}.journey-icon .icon{width:30px;height:30px}.home-journey h3{font-size:18px;margin-bottom:2px}.home-journey li p{font-size:11px}.journey-count{top:2px;font-size:9px}.journey-footnote{font-size:10px;margin:3px 0 0;padding-top:13px}.home-journey li:not(:last-child):after{left:18px}.home-hero-bottom{display:block;font-size:10px;margin-top:28px;padding:18px 0}.home-hero-bottom>p{line-height:1.9}.home-hero-bottom>a{display:none}.home-section{padding-block:65px}.home-label{font-size:11px;margin-bottom:20px;gap:9px}.home-label:before{width:17px}.design-system h2{font-size:26px;line-height:1.85}.home-section-heading{display:block;margin-bottom:32px}.home-section-heading>p{font-size:13px;margin-top:22px;line-height:2}.home-section-heading>.home-link{margin-top:22px}.concern-columns{display:block}.concern-columns article,.concern-columns article:first-child,.concern-columns article:last-child{border-left:0;border-top:1px solid #d9dbcd;padding:24px 0}.concern-tag{font-size:11px;margin-bottom:13px}.concern-columns h3{font-size:22px;line-height:1.7;margin-bottom:13px}.concern-columns h3 br{display:none}.concern-columns ul{font-size:12px}.concern-bottom{display:block;padding-top:24px;margin-top:5px}.concern-bottom p:first-child{font-size:16px}.concern-bottom p:last-child{font-size:12px;margin-top:17px}.design-system .small-only{display:block}.home-concept{display:block}.design-system .home-concept h2{font-size:clamp(23px,6.15vw,31px);line-height:2}.home-concept-copy{padding-top:27px}.home-emphasis{font-size:18px;line-height:1.9}.home-concept-copy>p:not(.home-emphasis){font-size:13px}.home-service-row{grid-template-columns:42px minmax(0,1fr);gap:18px;padding:30px 0}.home-service-icon{grid-row:span 2;gap:13px}.home-service-icon .icon{width:30px;height:30px}.home-service-icon:after{top:79px;bottom:-49px}.home-service-title>p{font-size:11px;margin-bottom:7px}.home-service-title h3{font-size:21px;line-height:1.75}.home-service-description{grid-column:2}.home-service-description>p{font-size:13px;margin-bottom:16px}.home-service-description ul{display:block;font-size:11px;margin-bottom:17px}.home-service-description li{margin-top:4px}.home-link{font-size:12px;gap:15px}.home-support{display:block;padding-top:26px}.home-support h3{font-size:17px}.home-support>p{font-size:12px;margin:13px 0}.home-support>p br{display:none}.home-values{display:block}.home-values article{grid-template-columns:23px 1fr;gap:14px;padding:25px 0}.home-values h3{font-size:20px;margin-bottom:12px}.home-values p{font-size:13px}.value-index{font-size:11px}.process-note{margin-top:22px;gap:13px;align-items:flex-start}.process-note>.icon{width:29px;height:29px;margin-top:3px}.process-note p{font-size:12px}.home-process{display:block}.home-process li,.home-process li:last-child{padding:0 0 27px 58px;min-height:105px}.home-process li:last-child{padding-bottom:0;min-height:0}.home-process li:before{left:18px;top:37px;bottom:0;width:1px;height:auto;right:auto}.home-process li:not(:last-child):after{left:15px;right:auto;top:auto;bottom:12px;width:6px;height:6px;transform:rotate(135deg)}.process-count{position:absolute;left:0;top:2px}.home-process h3{font-size:19px;margin:0 0 7px;line-height:1.8}.home-process p{font-size:13px}.home-case-list article{grid-template-columns:1fr;padding:25px 0;gap:12px}.home-case-list .home-link{grid-column:auto}.case-subject{font-size:11px}.home-case-list h3{font-size:19px;line-height:1.9}.home-case-list p{font-size:12px}.home-message-inner{display:block}.design-system .message-heading h2{font-size:36px;line-height:1.9}.message-heading>p:last-child{font-size:11px;margin:24px 0}.message-heading strong{font-size:21px}.message-letter{margin-top:29px;padding:24px 0 0;border-left:0;border-top:1px solid #d7d7c9}.message-letter h3{font-size:22px;line-height:1.9}.message-letter p{font-size:13px}.home-contact{padding:56px 0}.home-contact-inner{display:block}.design-system .home-contact h2{font-size:25px;line-height:1.9}.home-contact p:not(.home-label):not(.contact-phone-label){font-size:13px}.home-contact-actions{margin-top:27px;min-width:0}.home-contact-actions .home-button{width:auto;min-width:245px;min-height:60px;font-size:13px}.home-phone{font-size:23px}.contact-phone-label{font-size:11px}}
@media(max-width:350px){.home-hero h1{font-size:26px}.home-hero-actions{gap:16px}.home-hero-actions .home-button{font-size:11px;padding-inline:12px;gap:5px}.home-hero-actions .home-link{font-size:11px;gap:8px}.home-hero-description br{display:none}.design-system h2{font-size:24px}.design-system .home-concept h2{font-size:22px}.home-service-title h3{font-size:19px}.design-system .home-contact h2{font-size:23px}.home-journey{padding-inline:17px}.home-journey li{gap:13px}.home-journey li p{font-size:10px}.home-contact-actions .home-button{min-width:235px}}
@media print{.home-hero{display:block}.home-journey,.home-contact{display:none}.home-section{padding-block:30px}.home-service-row,.home-values article{break-inside:avoid}}
