/* All design rules are scoped to the homepage article; the shared shell is unchanged. */
.homepage-service-page #page_title h2.inner{box-sizing:border-box;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
.homepage-service-page #pan_list{box-sizing:border-box;width:100%;max-width:100%;margin-left:0;padding:0 12px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.homepage-service-page #page_title{height:auto}.homepage-service-page #page_title h2.inner{height:auto;line-height:1.6;text-indent:0;padding:16px 12px;letter-spacing:.04em}}
.homepage-service .hp-service-body{--hp-ink:#172b3c;--hp-muted:#576b75;--hp-mint:#d9edbb;--hp-line:#dce3e4;color:var(--hp-ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.9;isolation:isolate}
.homepage-service .hp-service-body *{box-sizing:border-box}
.homepage-service #main .hp-service-body :is(h2,h3,h4){float:none;width:auto;height:auto;text-indent:0;letter-spacing:normal;background:none;border:0;padding:0;white-space:normal;color:inherit;text-align:left;line-height:1.55;margin:0}
.homepage-service .hp-service-body p{margin:0 0 16px;padding:0}
.homepage-service .hp-service-body img{display:block;max-width:100%;height:auto}
.homepage-service .hp-service-body a{text-decoration:none}
.homepage-service .hp-service-body :is(a,button,summary):focus-visible{outline:3px solid #d89727;outline-offset:5px}
.homepage-service .hp-service-body button{font:inherit;cursor:pointer}
.homepage-service .hp-hero{background:#172b3c;color:#fff;padding:38px 32px 0;position:relative;overflow:hidden;border-radius:5px}
.homepage-service .hp-eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em!important;line-height:1.6!important;color:#52725d;margin-bottom:14px!important}
.homepage-service .hp-hero .hp-eyebrow,.homepage-service .hp-contact .hp-eyebrow{color:var(--hp-mint)}
.homepage-service .hp-location{font-size:12px;color:#c6d6de;display:block;margin-bottom:22px}
.homepage-service #main .hp-hero h2{font-size:clamp(25px,3vw,37px);letter-spacing:-.045em;font-weight:700;line-height:1.7;margin-bottom:20px}
.homepage-service .hp-hero h2 em{font-style:normal;color:var(--hp-mint)}
.homepage-service .hp-lead{font-size:14px;color:#d7e1e7;line-height:2.1}
.homepage-service .hp-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:25px 0 13px}
.homepage-service .hp-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;border-radius:3px;padding:14px 20px;background:var(--hp-mint);color:#172b3c!important;font-size:14px;font-weight:bold;transition:background .2s,transform .2s}
.homepage-service .hp-btn:hover{background:#effbdc;transform:translateY(-2px)}
.homepage-service .hp-btn span{font-size:21px;line-height:1}
.homepage-service .hp-text-link{font-size:12px;color:#fff!important;border-bottom:1px solid #81939e;padding:5px 0}
.homepage-service .hp-small{font-size:11px;line-height:1.8;color:var(--hp-muted)}
.homepage-service .hp-hero .hp-small{color:#bdcdd5}
.homepage-service .hp-hero-preview{position:relative;margin:35px 0 0;padding:0 52px 0 0}
.homepage-service .hp-browser{background:#f4f1ea;border:5px solid #f4f1ea;border-radius:8px 8px 0 0;box-shadow:0 20px 45px #0004;transform:rotate(-2deg);transform-origin:bottom left}
.homepage-service .hp-browser>span{display:block;color:#6b746f;padding:5px 9px 9px;font-size:8px;letter-spacing:.15em}
.homepage-service .hp-floating{position:absolute;right:-9px;bottom:30px;background:var(--hp-mint);color:#203b34;padding:22px 20px;box-shadow:0 12px 30px #0002;transform:rotate(3deg)}
.homepage-service .hp-floating span,.homepage-service .hp-floating small{display:block;font-size:8px;letter-spacing:.11em}
.homepage-service .hp-floating strong{display:block;font-size:21px;line-height:1.65;margin:10px 0 16px}
.homepage-service .hp-hero-foot{position:relative;display:flex;justify-content:space-between;gap:8px;background:#172b3c;padding:22px 0;font-size:11px;border-top:1px solid #536472}
.homepage-service .hp-hero-foot span:before{content:'✓';color:var(--hp-mint);margin-right:7px}
.homepage-service .hp-section{padding:48px 0;margin:0;border-bottom:1px solid var(--hp-line)}
.homepage-service #main .hp-section h3{font-size:26px;font-weight:bold;letter-spacing:-.035em;margin-bottom:17px}
.homepage-service .hp-section-head>p:not(.hp-eyebrow){font-size:14px;color:var(--hp-muted)}
.homepage-service .hp-sample-note{font-size:11px;color:#6b7476;border-left:2px solid #89a279;padding-left:12px!important;margin:22px 0!important}
.homepage-service .hp-showcase{display:grid;gap:30px}
.homepage-service .hp-work{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:center}
.homepage-service .hp-work-image{position:relative;display:block;width:100%;padding:12px!important;background:#e9e8de;border:0;border-radius:5px;overflow:hidden;text-align:left}
.homepage-service .hp-work:nth-child(2) .hp-work-image{background:#ede3dc}
.homepage-service .hp-work:nth-child(3) .hp-work-image{background:#dde7e2}
.homepage-service .hp-work-image img{width:100%;box-shadow:0 5px 16px #21352c20;transition:transform .25s}
.homepage-service .hp-work-image:hover img{transform:scale(1.025)}
.homepage-service .hp-work-image>span{display:block;text-align:right;font-size:10px;color:#314a3f;margin-top:9px}
.homepage-service .hp-work-category{font-size:10px;font-weight:bold;color:#56745f;margin-bottom:8px!important}
.homepage-service .hp-work-category>span{font-family:Georgia,serif;font-size:21px;margin-right:8px;font-weight:normal}
.homepage-service #main .hp-work h4{font-size:16px;font-weight:bold;margin-bottom:10px}
.homepage-service .hp-work-copy>p:not(.hp-work-category){font-size:12px;color:var(--hp-muted);line-height:1.9}
.homepage-service .hp-work-features{font-size:10px!important;border-top:1px solid var(--hp-line);padding-top:10px!important;margin-bottom:0!important}
.homepage-service .hp-inline-link{display:flex;justify-content:space-between;color:#1c4e3e!important;font-size:13px;font-weight:bold;border-bottom:1px solid #73947c;padding:15px 0;margin-top:22px}
.homepage-service .hp-promise{background:#f0f4ee;padding:30px 24px;margin-top:44px;border:0}
.homepage-service .hp-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px}
.homepage-service .hp-benefit-icon{display:block;font-size:9px;letter-spacing:.08em;border-top:1px solid #a2b29c;padding-top:15px;color:#5a7257;margin-bottom:12px}
.homepage-service #main .hp-benefits h4{font-size:15px;font-weight:bold;margin-bottom:10px}
.homepage-service .hp-benefits p{font-size:12px;color:#566654;line-height:1.9;margin:0}
.homepage-service .hp-steps{list-style:none;margin:25px 0 0;padding:0}
.homepage-service .hp-steps li{display:flex;gap:24px;padding:20px 0;border-top:1px solid var(--hp-line)}
.homepage-service .hp-steps li>span{font:italic 30px Georgia,serif;color:#758f77;min-width:38px;padding-top:4px}
.homepage-service #main .hp-steps h4{font-size:16px;margin-bottom:5px;font-weight:bold}
.homepage-service .hp-steps p{font-size:13px;color:var(--hp-muted);margin:0}
.homepage-service .hp-faq details{border-top:1px solid var(--hp-line)}
.homepage-service .hp-faq summary{cursor:pointer;list-style:none;font-size:14px;font-weight:bold;padding:18px 28px 18px 0;position:relative}
.homepage-service .hp-faq summary::-webkit-details-marker{display:none}
.homepage-service .hp-faq summary:after{content:'+';position:absolute;right:3px;color:#517150;font-size:20px;top:13px}
.homepage-service .hp-faq details[open] summary:after{content:'−'}
.homepage-service .hp-faq details p{font-size:13px;color:var(--hp-muted);padding:0 15px 16px 0}
.homepage-service .hp-contact{margin-top:40px;padding:35px 28px;background:#172b3c;color:#fff;border-radius:4px}
.homepage-service #main .hp-contact h3{font-size:30px;line-height:1.6;margin-bottom:18px;letter-spacing:-.02em}
.homepage-service .hp-contact>p:not(.hp-eyebrow){font-size:13px;color:#cbd7df}
.homepage-service .hp-contact .hp-btn{margin:9px 0 12px}
.homepage-service .hp-phone{display:flex;flex-wrap:wrap;gap:15px;align-items:center;border-top:1px solid #4c6271;padding-top:18px;margin-top:22px}
.homepage-service .hp-phone span{font-size:11px;color:#cbd7df}
.homepage-service .hp-phone a{font-size:23px;letter-spacing:.04em;color:#fff!important;font-weight:bold}
.homepage-service .hp-preview{border:0;border-radius:8px;padding:22px;width:min(960px,94vw);max-height:90vh;color:#172b3c;box-shadow:0 30px 90px #0005}
.homepage-service .hp-preview::backdrop{background:#0d202bd9}
.homepage-service .hp-preview form{text-align:right;margin:0}
.homepage-service .hp-preview-close{border:1px solid #cad6d6;background:#fff;color:#172b3c;padding:8px 15px;border-radius:4px}
.homepage-service .hp-preview-title{font-size:16px;font-weight:bold;margin-top:10px!important}
.homepage-service .hp-preview img{width:100%}
@media(max-width:600px){.homepage-service .hp-hero{padding:27px 20px 0}.homepage-service #main .hp-hero h2{font-size:25px}.homepage-service .hp-location{font-size:10px}.homepage-service .hp-lead{font-size:12px}.homepage-service .hp-actions{gap:12px}.homepage-service .hp-hero-preview{padding-right:26px;margin-top:28px}.homepage-service .hp-floating{padding:13px;right:-8px;bottom:18px}.homepage-service .hp-floating strong{font-size:15px;margin:5px 0 8px}.homepage-service .hp-floating small{display:none}.homepage-service .hp-floating span{font-size:6px}.homepage-service .hp-hero-foot{font-size:9px;gap:5px;flex-wrap:wrap}.homepage-service .hp-section{padding:33px 0}.homepage-service #main .hp-section h3{font-size:22px}.homepage-service .hp-work{grid-template-columns:1fr;gap:12px}.homepage-service .hp-work-image{padding:15px!important}.homepage-service .hp-work-copy>p:not(.hp-work-category){font-size:13px}.homepage-service .hp-benefits{grid-template-columns:1fr;gap:23px}.homepage-service .hp-promise{padding:27px 19px;margin-top:25px}.homepage-service .hp-benefits p{font-size:13px}.homepage-service .hp-contact{padding:28px 20px}.homepage-service #main .hp-contact h3{font-size:25px}.homepage-service .hp-btn{font-size:13px;padding:13px 16px}.homepage-service .hp-small{font-size:10px}.homepage-service .hp-section-head>p:not(.hp-eyebrow){font-size:13px}}
@media(prefers-reduced-motion:reduce){.homepage-service .hp-service-body *{transition:none!important;scroll-behavior:auto!important}}
