@charset 'UTF-8';
/* 金庫・バッテリー・機械撤去を中心とした写真と導線 */
.priorityPhotoHero { position:relative; overflow:hidden; background:#102a40; }
.priorityHeroPhotos { position:absolute; inset:0; display:grid; grid-template-columns:1.2fr 1fr 1fr; width:100%; height:100%; pointer-events:none; }
.priorityHeroPhotos .priorityHeroPhoto { display:block; min-width:0; width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.priorityHeroPhotos .priorityHeroPhoto-lithium_ion_batteries { object-position:40% center; }
#home section.firstView.priorityPhotoHero::after,body#disposal .disposalHero.priorityPhotoHero::after { position:absolute; content:''; inset:0; background:linear-gradient(90deg,rgba(5,25,43,.88),rgba(5,25,43,.65) 42%,rgba(5,25,43,.18)),linear-gradient(0deg,rgba(5,25,43,.35),transparent 65%); z-index:0; pointer-events:none; }
#home section.firstView.priorityPhotoHero .contentBox { z-index:1; }
#home .homeHeroPhoto { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
#home section.firstView.priorityPhotoHero::after { background:linear-gradient(90deg,rgba(5,25,43,.74),rgba(5,25,43,.45) 48%,rgba(5,25,43,.12)),linear-gradient(0deg,rgba(5,25,43,.25),transparent 65%); }
body#disposal .disposalHero.priorityPhotoHero { background:#102a40; }
body#disposal .disposalHeroPhoto { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 48%; }
body#disposal .disposalHero.priorityPhotoHero > .contentWrapper { position:relative; z-index:1; }
#home .homePriorityServices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24rem; margin-top:28rem; }
#home .homePriorityService { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1rem solid #ccdce5; border-top:4rem solid #39766b; border-radius:6rem; background:#fff; color:#0b2948; text-decoration:none; }
#home .homePriorityService figure { width:100%; margin:0; aspect-ratio:3 / 2; }
#home .homePriorityService img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 38%; }
#home .homePriorityService > div { display:flex; flex-direction:column; align-items:stretch; flex:1; padding:22rem; }
#home .homePriorityService h3 { margin:0 0 12rem; font-size:22rem; line-height:1.6; }
#home .homePriorityService p { margin:0 0 20rem; font-size:14rem; line-height:1.9; }
#home .homePriorityService > div > span { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:14rem; border-top:1rem solid #d5e1e9; font-size:14rem; font-weight:700; color:#3979b4; }
#home .homePriorityService:focus-visible { outline:3rem solid #39766b; outline-offset:4rem; }
#home .homeOtherServicesTitle { margin:36rem 0 0; font-size:21rem; line-height:1.7; }
#home .homeAdditionalServices { grid-column:1 / -1; margin:24rem 0 0; font-size:16rem; line-height:1.9; text-align:left; }
#home .homeAdditionalServices a { color:#3979b4; text-decoration:underline; text-underline-offset:4rem; }
body#disposal .disposalServices .disposalGrid { grid-template-columns:repeat(6,minmax(0,1fr)); }
body#disposal .disposalServices .disposalServiceCard { grid-column:span 2; }
body#disposal .disposalShipGuide { margin-top:28rem; padding:20rem 0; border-top:1rem solid #d5e1e9; }
body#disposal .disposalShipGuide a { color:#3979b4; font-size:16rem; font-weight:700; text-decoration:underline; text-underline-offset:4rem; }
body#disposal .disposalShipGuide p { margin:10rem 0 0; font-size:14rem; line-height:1.8; }
@media(max-width:780px) {
 #home section.firstView.priorityPhotoHero { aspect-ratio:auto; min-height:100svh; }
 .priorityHeroPhotos { grid-template-columns:1fr 1fr; grid-template-rows:3fr 2fr; }
 .priorityHeroPhotos .priorityHeroPhoto-kinko { grid-column:1 / -1; object-position:center 33%; }
 #home section.firstView.priorityPhotoHero::after,body#disposal .disposalHero.priorityPhotoHero::after { background:linear-gradient(90deg,rgba(5,25,43,.72),rgba(5,25,43,.3)),linear-gradient(0deg,rgba(5,25,43,.72),rgba(5,25,43,.15)); }
 #home .homePriorityServices { grid-template-columns:1fr; gap:20rem; }
 #home .homePriorityService figure { aspect-ratio:16 / 9; }
 #home .homePriorityService > div { padding:20rem; }
 #home .homePriorityService h3 { font-size:22rem; }
 body#disposal .disposalServices .disposalGrid { grid-template-columns:1fr; }
 body#disposal .disposalServices .disposalServiceCard { grid-column:auto; }
}
/* サイト内検索 */
.siteMenuSearch { margin-bottom:28rem; padding-bottom:24rem; border-bottom:1rem solid #d5e1e9; }
.siteSearchForm { width:100%; max-width:700rem; margin:0; text-align:left; }
.siteSearchForm > label { display:block; margin-bottom:10rem; color:#0b2948; font-size:16rem; font-weight:700; }
.siteSearchControls { display:flex; align-items:stretch; gap:10rem; }
.siteSearchForm input[type=search] { flex:1; min-width:0; width:100%; height:48rem; padding:10rem 14rem; border:1rem solid #b9cfdd; border-radius:4rem; color:#0b2948; background:#fff; font:inherit; font-size:16rem; line-height:1.6; box-sizing:border-box; }
.siteSearchForm button[type=submit] { flex:0 0 auto; min-width:0; width:auto; height:48rem; padding:10rem 24rem; border:0; border-radius:4rem; background:#3979b4; color:#fff; font-size:16rem; line-height:1.6; font-weight:700; }
.siteSearchForm :is(input,button):focus-visible { outline:2rem solid #39766b; outline-offset:3rem; }
.siteSearchForm button:hover { background:#265b8b; }
#search .supportHero { height:auto; min-height:240rem; padding:48rem 0; background:#edf3f5; color:#0b2948; }
#search .supportHero .eyebrow { color:#39766b; font-size:14rem; }
#search .supportHero h1 { margin:12rem 0 16rem; font-size:38rem; line-height:1.6; color:#053a70; }
#search .supportHero p:last-child { font-size:17rem; line-height:1.9; }
#search .supportContainer { max-width:1120rem; }
#search .siteSearchHint { margin-top:24rem; font-size:15rem; }
.siteGoogleResults { margin-top:28rem; overflow-wrap:anywhere; }
#search .siteGoogleResults .gsc-control-cse { padding:0; border:0; font-size:14px; }
#search .siteGoogleResults .gsc-control-cse :is(table,td) { border:0; background:transparent; }
#search .siteGoogleResults .gsc-results { width:100%; }
#search .siteGoogleResults .gsc-webResult .gs-title { height:auto; line-height:1.6; }
@media(max-width:780px) {
 .siteMenuSearch { margin-bottom:20rem; padding-bottom:20rem; }
 .siteSearchControls { gap:8rem; }
 .siteSearchForm button[type=submit] { padding:10rem 16rem; }
 #search .supportHero { min-height:0; padding:32rem 0; }
 #search .supportHero h1 { font-size:28rem; }
 #search .supportHero p:last-child { font-size:15rem; }
}
.wpcf7 form .shidaTurnstileBelowSubmit { display:flex; justify-content:center; margin:20rem 0 28rem; }
.wpcf7 form .shidaTurnstileBelowSubmit .wpcf7-turnstile,
#inquiry .wpcf7 .shidaTurnstileBelowSubmit .wpcf7-turnstile { margin:0; }
/* 採用応募フォーム */
#recruit-form .recruitApplicationHero { height:auto; min-height:270rem; padding:48rem 0; color:#fff; background:linear-gradient(110deg,#193758ee,#3f73abcd),url('img/recruit/recruit-fv.webp') center/cover; }
#recruit-form .recruitApplicationHero .eyebrow { font-size:14rem; color:#c7deef; }
#recruit-form .recruitApplicationHero h1 { margin:12rem 0 18rem; font-size:38rem; line-height:1.6; }
#recruit-form .recruitApplicationHero p:last-child { font-size:17rem; line-height:1.9; }
.recruitApplicationMain { padding:48rem 0 64rem; background:#f4f8fc; }
.recruitApplicationContainer { width:calc(100% - 40rem); max-width:900rem; margin:auto; font-size:16rem; line-height:1.9; text-align:left; }
.recruitApplicationIntro { margin-bottom:36rem; text-align:center; }
.recruitApplicationIntro .eyebrow { font-size:13rem; color:#3f73ab; }
.recruitApplicationIntro h2 { margin:8rem 0 18rem; font-size:30rem; line-height:1.6; }
.recruitApplicationIntro p { margin:16rem 0; }
.recruitApplicationIntro a,.recruitApplicationBack { color:#2f5d8f; text-decoration:underline; text-underline-offset:4rem; }
.recruitApplicationPanel { padding:40rem; background:#fff; border:1rem solid #d3e0ec; border-radius:6rem; }
.recruitApplicationPanel > h2 { margin:0 0 16rem; font-size:26rem; line-height:1.6; }
.recruitApplicationNote { margin:0 0 12rem; }
.recruitApplicationLegend { margin:0 0 28rem; font-size:14rem; }
.recruitRequired,.recruitOptional { display:inline-block; margin-left:6rem; padding:2rem 7rem; border-radius:3rem; font-size:11rem; line-height:1.6; font-weight:500; vertical-align:middle; }
.recruitRequired { background:#a84336; color:#fff; }
.recruitOptional { background:#edf1f4; color:#587086; }
.recruitApplicationLegend .recruitRequired { margin-left:0; }
.recruitApplicationFields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24rem; }
.recruitApplicationField { min-width:0; margin:0; padding:0; border:0; }
.recruitApplicationField > label,.recruitApplicationField > legend { display:block; margin:0 0 8rem; padding:0; font-size:15rem; font-weight:700; }
.recruitApplicationFull { grid-column:1 / -1; }
.recruitApplicationField p { margin:0; }
.recruitApplicationField .wpcf7-form-control-wrap { display:block; }
#recruit-form .recruitApplicationField input:not([type=checkbox]):not([type=radio]),#recruit-form .recruitApplicationField textarea { width:100%; min-width:0; max-width:100%; height:auto; min-height:48rem; padding:12rem; border:1rem solid #c7d5df; border-radius:4rem; background:#fbfcfd; color:#0b2948; font:inherit; font-size:16rem; line-height:1.6; box-sizing:border-box; }
#recruit-form .recruitApplicationField textarea { min-height:180rem; resize:vertical; }
.recruitApplicationField input:focus-visible,.recruitApplicationField textarea:focus-visible,.recruitApplicationSubmit input:focus-visible,.recruitApplicationPrivacy summary:focus-visible,.recruitApplicationBack:focus-visible { outline:2rem solid #3f73ab; outline-offset:3rem; }
.recruitApplicationGender :is(.wpcf7-radio,.wpcf7-checkbox) { display:flex; justify-content:flex-start; flex-wrap:wrap; gap:12rem 24rem; padding:10rem 0; }
.recruitApplicationGender .wpcf7-list-item { margin:0; }
.recruitApplicationGender label,.recruitApplicationConsent label { display:flex; align-items:center; justify-content:flex-start; gap:8rem; line-height:1.8; }
#recruit-form .recruitApplicationGender .wpcf7-list-item > label { display:inline-flex; align-items:center; gap:8rem; }
#recruit-form .recruitApplicationGender input[type=radio] { flex-shrink:0; width:18rem; min-width:18rem; height:18rem; margin:0; padding:0; box-sizing:border-box; border-radius:50%; }
.recruitApplicationAge { display:flex; align-items:center; justify-content:flex-start; gap:10rem; }
.recruitApplicationAge .wpcf7-form-control-wrap { width:130rem; }
.recruitApplicationPrivacy { margin-top:32rem; border:1rem solid #d3e0ec; border-radius:4rem; }
.recruitApplicationPrivacy summary { padding:16rem 18rem; background:#f3f7fa; font-size:15rem; font-weight:700; cursor:pointer; }
.recruitApplicationPrivacyBody { padding:8rem 22rem 22rem; font-size:14rem; line-height:1.9; overflow-wrap:anywhere; }
.recruitApplicationPrivacyBody h3 { margin:26rem 0 12rem; font-size:16rem; line-height:1.7; }
.recruitApplicationPrivacyBody p { margin:14rem 0; }
.recruitApplicationPrivacyBody ol { padding-left:1.6em; }
.recruitApplicationConsent { margin:26rem 0 20rem; font-size:14rem; }
.recruitApplicationConsent .wpcf7-list-item { margin:0; }
.recruitApplicationConsent input[type=checkbox] { flex-shrink:0; }
#recruit-form .recruitApplicationConsent .wpcf7-list-item > label { display:flex; align-items:center; justify-content:flex-start; gap:10rem; }
#recruit-form .recruitApplicationConsent input[type=checkbox] { flex:0 0 18rem; width:18rem; min-width:18rem; height:18rem; margin:0; padding:0; border-radius:3rem; box-sizing:border-box; }
#recruit-form .recruitApplicationConsent a { color:#0669bf; text-decoration:underline; text-underline-offset:4rem; }
#recruit-form .recruitApplicationConsent a:focus-visible { outline:2rem solid #3f73ab; outline-offset:3rem; }
.recruitApplicationSendNote { margin:20rem 0; text-align:center; font-size:14rem; }
.recruitApplicationSubmit { position:relative; text-align:center; }
#recruit-form .recruitApplicationSubmit input[type=submit] { width:100%; min-width:0; max-width:360rem; height:auto; min-height:58rem; padding:16rem 24rem; border:0; border-radius:4rem; color:white; background:#3f73ab; font-size:17rem; font-weight:700; }
#recruit-form .recruitApplicationSubmit input[type=submit]:disabled { opacity:.5; cursor:not-allowed; }
.recruitApplicationSubmit .wpcf7-spinner { display:block; margin:12rem auto 0; }
.recruitApplicationPanel .wpcf7-not-valid-tip { margin-top:6rem; font-size:13rem; }
.recruitApplicationPanel .wpcf7-response-output { margin:24rem 0 0; padding:14rem; font-size:14rem; }
.recruitApplicationPanel .wpcf7-turnstile { margin:20rem 0 28rem; }
.recruitApplicationBack { display:block; margin-top:28rem; text-align:center; font-size:15rem; }
@media(max-width:780px) {
 #recruit-form .recruitApplicationHero { min-height:0; padding:32rem 0; }
 #recruit-form .recruitApplicationHero h1 { font-size:28rem; }
 #recruit-form .recruitApplicationHero p:last-child { font-size:15rem; }
 .recruitApplicationMain { padding:28rem 0 40rem; }
 .recruitApplicationContainer { width:calc(100% - 28rem); font-size:15rem; }
 .recruitApplicationIntro h2 { font-size:25rem; }
 .recruitApplicationPanel { padding:24rem 18rem; }
 .recruitApplicationPanel > h2 { font-size:21rem; }
 .recruitApplicationFields { grid-template-columns:1fr; gap:22rem; }
 .recruitApplicationPrivacyBody { padding:4rem 16rem 18rem; }
 .recruitApplicationPrivacy summary { padding:14rem; font-size:14rem; }
}
/* 全ページへの共通ナビゲーション */
.fixedHeader > nav.pc.primaryNavigation { margin-right:80rem; }
header .primaryNavigation > a { padding-left:14rem; padding-right:14rem; }
/* 狭いPC幅でも、文字サイズと余白を抑えて1段に収める。 */
@media (min-width:781px) and (max-width:1280px) {
 header.fixedHeader > nav.pc.primaryNavigation { display:flex; flex-shrink:0; font-size:14rem; white-space:nowrap; }
 header .primaryNavigation > a { padding-left:9rem; padding-right:9rem; }
}
header .siteMenuToggle { position:absolute; right:16rem; bottom:16rem; min-width:0; width:48rem; height:48rem; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10rem; padding:8rem 4rem; border:0; border-radius:4rem; background:transparent; color:inherit; cursor:pointer; }
.siteMenuBars { position:relative; display:block; width:26rem; height:2rem; background:currentColor; }
.siteMenuBars::before,.siteMenuBars::after { position:absolute; content:''; left:0; width:100%; height:2rem; background:currentColor; }
.siteMenuBars::before { top:-7rem; }
.siteMenuBars::after { top:7rem; }
.siteMenuLabel { margin-top:4rem; font-size:9rem; line-height:1; letter-spacing:.08em; }
#recruit header .siteMenuToggle { top:16rem; bottom:auto; }
.siteMenuToggle:focus-visible,.siteMenuClose:focus-visible { outline:2rem solid #39766b; outline-offset:3rem; }
.siteMenuDialog { position:fixed; inset:0; margin:auto; padding:0; width:min(1120rem,calc(100% - 48rem)); max-width:none; height:auto; max-height:calc(100dvh - 48rem); border:0; border-radius:6rem; background:#fff; color:#0b2948; overflow:hidden; box-shadow:0 12rem 60rem #001d3640; }
.siteMenuDialog[open] { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; text-align:left; }
.siteMenuDialog::backdrop { background:#061c32bb; }
.siteMenuHeading { display:flex; width:100%; box-sizing:border-box; flex-shrink:0; align-items:center; justify-content:space-between; gap:20rem; padding:24rem 32rem; border-bottom:1rem solid #d5e1e9; text-align:left; }
.siteMenuHeading .eyebrow { margin:0 0 4rem; font-size:12rem; color:#39766b; }
.siteMenuHeading h2 { margin:0; font-size:26rem; line-height:1.5; }
.siteMenuClose { display:flex; align-items:center; flex-shrink:0; gap:12rem; width:auto; min-width:0; height:auto; min-height:44rem; padding:8rem 16rem; border:1rem solid #c4d8e3; border-radius:4rem; background:#fff; color:#0b2948; font-size:14rem; white-space:nowrap; cursor:pointer; }
.siteMenuClose span { font-size:28rem; line-height:1; }
.siteMenuBody { width:100%; box-sizing:border-box; overflow-y:auto; overscroll-behavior:contain; padding:28rem 32rem 40rem; min-height:0; text-align:left; }
.siteDirectory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:32rem; text-align:left; }
.siteDirectory .siteDirectoryGroup { display:block; min-width:0; margin:0; padding:0; }
.siteDirectoryGroup :is(h2,h3) { margin:0 0 12rem; padding:0 0 10rem; border-bottom:1rem solid #bed1dc; font-size:17rem; font-weight:700; line-height:1.7; }
.siteDirectoryGroup ul { display:block; margin:0; padding:0; list-style:none; }
.siteDirectoryGroup li { display:block; margin:0; padding:0; }
.siteDirectoryGroup a { display:block; height:auto; padding:7rem 0; font-size:14rem; line-height:1.8; color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.siteDirectoryGroup a:hover { color:#16856a; text-decoration:underline; text-underline-offset:4rem; }
.siteDirectoryGroup a:focus-visible { outline:2rem solid #39766b; outline-offset:3rem; }
.siteMenuGroupToggle { display:none; }
.siteMenuQuickLinks { display:none; }
footer .footerSiteMap { padding:48rem 0; background:#eaf0f4; color:#0b2948; }
.footerCompany { display:flex; flex-wrap:wrap; align-items:center; gap:18rem 32rem; margin-bottom:36rem; padding-bottom:28rem; border-bottom:1rem solid #bed1dc; text-align:left; }
.footerCompanyName { font-size:25rem; font-weight:700; }
.footerCompany p { margin:0; font-size:14rem; line-height:1.9; }
.footerSiteMapLink { font-size:14rem; text-decoration:underline; text-underline-offset:4rem; }
footer .footerSiteMap .siteDirectory { grid-template-columns:repeat(4,minmax(0,1fr)); gap:30rem; }
.siteDirectory .siteDirectoryGroup-sanpai-tips { grid-column:1 / -1; }
.siteDirectoryGroup-sanpai-tips ul { display:block; column-count:3; column-gap:28rem; }
.siteDirectoryGroup-sanpai-tips li { break-inside:avoid; }
#sitemap .supportHero { height:auto; min-height:240rem; padding:48rem 0; background:#edf3f5; color:#0b2948; }
#sitemap .supportHero .eyebrow { color:#39766b; font-size:14rem; }
#sitemap .supportHero h1 { margin:12rem 0 16rem; color:#053a70; font-size:38rem; line-height:1.6; }
#sitemap .supportHero p:last-child { font-size:17rem; line-height:1.9; }
#sitemap .supportContainer { max-width:1120rem; }
#sitemap .supportArticle > .siteDirectory { margin-top:32rem; }
#sitemap .supportArticle > .sitemapDirectory { margin-top:32rem; }
#sitemap .supportArticle .siteMenuQuickLinks a { text-decoration:none; }
#sitemap .supportArticle .siteDirectoryGroup :is(h2,h3) { margin:0 0 12rem; padding:0 0 10rem; border-bottom:1rem solid #bed1dc; font-size:18rem; }
@media (max-width:1000px) and (min-width:781px) {
 header .primaryNavigation > a { padding-left:8rem; padding-right:8rem; font-size:14rem; }
}
@media (max-width:780px) {
 header .siteMenuToggle { right:10rem; bottom:6rem; width:48rem; height:48rem; }
 #recruit header .siteMenuToggle { top:6rem; }
 .siteMenuDialog { width:calc(100% - 20rem); height:calc(100dvh - 20rem); max-height:calc(100dvh - 20rem); border-radius:4rem; }
 .siteMenuHeading { padding:16rem; }
 .siteMenuHeading h2 { font-size:22rem; }
 .siteMenuBody { padding:24rem 20rem 32rem; }
 .mobileDirectory .siteMenuQuickLinks { display:block; margin:0 0 20rem; padding:0; list-style:none; }
 .siteMenuQuickLinks li { display:block; margin:0; padding:0; border-bottom:1rem solid #d5e1e9; }
 .siteMenuQuickLinks a { display:flex; align-items:center; justify-content:space-between; gap:16rem; min-height:48rem; padding:10rem 0; color:inherit; font-size:16rem; font-weight:700; line-height:1.7; text-decoration:none; }
 .siteMenuQuickLinks a::after { content:'→'; font-weight:400; }
 .siteMenuQuickLinks a:focus-visible { outline:2rem solid #39766b; outline-offset:-2rem; }
 .mobileDirectory .siteDirectoryGroup .siteMenuQuickDuplicate { display:none; }
 .siteDirectory,footer .footerSiteMap .siteDirectory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28rem 22rem; }
 .mobileDirectory .siteDirectory,footer .footerSiteMap .mobileDirectory .siteDirectory { grid-template-columns:1fr; gap:0; }
 .mobileDirectory .siteDirectoryGroup > :is(h2,h3),#sitemap .supportArticle .siteDirectoryGroup > h2 { padding:0; margin:0; }
 .siteMenuGroupTitle { display:none; }
 .siteMenuGroupToggle { display:flex; align-items:center; justify-content:space-between; gap:16rem; width:100%; min-width:0; height:auto; min-height:56rem; padding:16rem 0; border:0; border-radius:0; background:transparent; color:inherit; text-align:left; font-size:16rem; font-weight:700; line-height:1.7; }
 .siteMenuGroupToggle:focus-visible { outline:2rem solid #39766b; outline-offset:-2rem; }
 .siteMenuGroupIcon { flex-shrink:0; position:relative; width:14rem; height:14rem; }
 .siteMenuGroupIcon::before,.siteMenuGroupIcon::after { position:absolute; content:''; background:currentColor; left:0; top:6rem; width:14rem; height:2rem; }
 .siteMenuGroupIcon::after { transform:rotate(90deg); }
 .siteMenuGroupToggle[aria-expanded="true"] .siteMenuGroupIcon::after { display:none; }
 .mobileDirectory .siteDirectoryGroup > :is(h2,h3):has(.siteMenuGroupToggle[aria-expanded="false"]) + ul { display:none; }
 .mobileDirectory .siteDirectoryGroup > ul { padding:8rem 0 16rem; }
 .siteDirectoryGroup h3 { font-size:16rem; }
 .siteDirectoryGroup a { padding:8rem 0; font-size:14rem; }
 footer .footerSiteMap { padding:32rem 8rem; }
 .footerCompany { display:block; }
 .footerCompanyName { display:block; margin-bottom:14rem; font-size:23rem; }
 .footerSiteMapLink { display:inline-block; margin-top:16rem; }
 #sitemap .supportHero { min-height:0; padding:32rem 0; }
 #sitemap .supportHero h1 { font-size:28rem; }
 #sitemap .supportHero p:last-child { font-size:15rem; }
 #sitemap .siteDirectory { grid-template-columns:1fr; }
 .siteDirectoryGroup-sanpai-tips ul { column-count:2; column-gap:20rem; }
 .mobileDirectory .siteDirectoryGroup-sanpai-tips ul { column-count:1; }
}
@media (prefers-reduced-motion:reduce) { .siteMenuDialog { scroll-behavior:auto; } }
/* FAQ・個人情報保護方針・地域活動 */
:is(#faq,#privacy,#csr) .supportHero { height:auto; min-height:240rem; padding:48rem 0; background:#edf3f5; color:#0b2948; }
:is(#faq,#privacy,#csr) .supportHero .eyebrow { color:#39766b; font-size:14rem; }
:is(#faq,#privacy,#csr) .supportHero h1 { margin:12rem 0 16rem; color:#053a70; font-size:38rem; line-height:1.6; }
:is(#faq,#privacy,#csr) .supportHero p:last-child { font-size:17rem; line-height:1.9; }
.supportMain { padding:48rem 0 64rem; background:#f7f9fb; }
.supportContainer { width:calc(100% - 40rem); max-width:1000rem; margin:0 auto; }
.supportArticle { padding:40rem; background:#fff; border:1rem solid #d5e1e9; border-radius:5rem; font-size:17rem; line-height:1.95; overflow-wrap:anywhere; }
.supportArticle h2 { margin:44rem 0 20rem; padding-bottom:14rem; border-bottom:2rem solid #d0e0e9; font-size:26rem; line-height:1.6; scroll-margin-top:140rem; }
.supportArticle > h2:first-child { margin-top:0; }
.supportArticle p { margin:18rem 0; }
.supportArticle a { color:#146aa6; text-decoration:underline; text-underline-offset:4rem; }
.supportArticle a:focus-visible,.supportFooterLinks a:focus-visible { outline:2rem solid #39766b; outline-offset:4rem; }
.supportArticle .supportJumpLinks { display:flex; flex-wrap:wrap; gap:12rem; padding:0; margin:24rem 0 36rem; list-style:none; }
.supportJumpLinks li { margin:0; }
.supportJumpLinks a { display:block; padding:12rem 20rem; border:1rem solid #c4d8e3; border-radius:4rem; text-decoration:none; font-weight:700; }
.supportJumpLinks a:hover { background:#edf3f5; }
.supportArticle .supportQuestion { margin:12rem 0; border:1rem solid #d5e1e9; border-radius:4rem; overflow:hidden; }
.supportQuestion > summary { position:relative; display:block; padding:20rem 54rem 20rem 52rem; background:#f3f7fa; font-weight:700; line-height:1.8; cursor:pointer; list-style:none; }
.supportQuestion > summary::-webkit-details-marker { display:none; }
.supportQuestion > summary::before { position:absolute; left:20rem; content:'Q'; color:#39766b; font-weight:700; }
.supportQuestion > summary::after { position:absolute; right:20rem; content:'＋'; color:#39766b; }
.supportQuestion[open] > summary::after { content:'−'; }
.supportQuestion > summary:focus-visible { outline:2rem solid #39766b; outline-offset:-3rem; }
.supportQuestion > p { margin:0; padding:24rem; }
.supportArticle figure.wp-block-image { margin:24rem 0; text-align:center; }
.supportArticle figure.wp-block-image img { width:auto; max-width:100%; height:auto; max-height:420rem; border-radius:4rem; }
.supportArticle figcaption { margin-top:10rem; font-size:14rem; color:#587182; }
.supportFooterLinks { display:flex; flex-wrap:wrap; justify-content:center; gap:12rem 28rem; padding:28rem 20rem; border-top:1rem solid #d5e1e9; font-size:14rem; }
@media screen and (max-width:767px) {
 :is(#faq,#privacy,#csr) .supportHero { min-height:0; padding:32rem 0; }
 :is(#faq,#privacy,#csr) .supportHero h1 { font-size:28rem; }
 :is(#faq,#privacy,#csr) .supportHero p:last-child { font-size:15rem; }
 .supportMain { padding:28rem 0 36rem; }
 .supportContainer { width:calc(100% - 28rem); }
 .supportArticle { padding:22rem 18rem; font-size:15rem; }
 .supportArticle h2 { margin-top:32rem; font-size:22rem; scroll-margin-top:85rem; }
 .supportArticle .supportJumpLinks { gap:8rem; }
 .supportJumpLinks a { padding:10rem 12rem; font-size:14rem; }
 .supportQuestion > summary { padding:16rem 36rem 16rem 38rem; }
 .supportQuestion > summary::before { left:14rem; }
 .supportQuestion > summary::after { right:12rem; }
 .supportQuestion > p { padding:18rem 16rem; }
}
body.knowledgePage .postContent .knowledgeTypeTable tbody th[colspan] { text-align:left; white-space:nowrap; }
body.knowledgePage .postContent .knowledgeTypeItems thead th:nth-child(1) { width:30%; }
body.knowledgePage .postContent .knowledgeTypeItems thead th:nth-child(2) { width:40%; }
body.knowledgePage .postContent .knowledgeTypeItems thead th:nth-child(3) { width:30%; }
body.knowledgePage .postContent .knowledgeTypeGeneral thead th:first-child { width:30%; }
body.knowledgePage .postContent .knowledgeTypeGeneral thead th:last-child { width:70%; }
body.knowledgePage .postContent .knowledgeTypeSpecial thead th:first-child { width:45%; }
body.knowledgePage .postContent .knowledgeTypeSpecial thead th:last-child { width:55%; }
#home .homeServiceDirectory { padding:48rem 0 60rem; background:#edf3f5; scroll-margin-top:140rem; }
#home .homeServiceDirectory h2 { font-size:30rem; line-height:1.6; margin:12rem 0 18rem; }
#home .homeServiceIntro { font-size:16rem; line-height:1.9; }
#home .homeServiceDirectoryGrid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:stretch; gap:16rem; margin-top:28rem; }
#home .homeServiceDirectoryGrid > a { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; min-width:0; padding:22rem 18rem; background:#fff; border:1rem solid #ccdce5; border-radius:5rem; }
#home .homeServiceDirectoryGrid img { width:100%; max-width:168rem; height:auto; aspect-ratio:3 / 2; object-fit:contain; align-self:center; }
#home .homeServiceDirectoryGrid h3 { width:100%; margin:14rem 0 8rem; font-size:18rem; line-height:1.6; text-align:center; }
#home .homeServiceDirectoryGrid p { flex:1; width:100%; margin:0; font-size:13rem; line-height:1.9; text-align:center; }
#home .homeServiceDirectoryGrid a > .homeServiceCardButton { position:relative; display:flex; align-items:center; justify-content:center; gap:8rem; width:100%; min-height:44rem; box-sizing:border-box; margin-top:16rem; padding:10rem 28rem; border-radius:4rem; background:#3979b4; color:#fff; font-size:14rem; font-weight:700; line-height:1.6; text-align:center; }
#home .homeServiceCardButton > span { position:absolute; right:12rem; }
#home .homeServiceDirectoryGrid > a:hover { border-color:#39766b; }
#home .homeServiceDirectoryGrid > a:focus-visible { outline:2rem solid #397aa9; outline-offset:3rem; }
body.servicePage .servicePriceCards.kaitaiSkeletonPrices { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16rem; }
body.servicePage .kaitaiSkeletonPrices .servicePriceCard { padding:20rem 16rem; }
body.servicePage .kaitaiSkeletonPrices .servicePriceAmount strong { display:block; margin:0 0 6rem; font-size:28rem; }
body.servicePage .kaitaiPartialPrices table { min-width:620rem; }
body.servicePage .kaitaiShopPrices table { min-width:630rem; }
body.servicePage .kaitaiPartialPrices td:last-child { font-weight:700; color:#053a70; background:#f0f6f8; }
@media(max-width:1000px) and (min-width:781px) {
 #home .homeServiceDirectoryGrid { grid-template-columns:repeat(6,minmax(0,1fr)); }
 #home .homeServiceDirectoryGrid > a { grid-column:span 2; }
 #home .homeServiceDirectoryGrid > a:nth-last-child(-n+2) { grid-column:span 3; }
}
@media(max-width:780px) {
 #home .homeServiceDirectory { padding:32rem 0 40rem; scroll-margin-top:80rem; }
 #home .homeServiceDirectory h2 { font-size:25rem; }
 #home .homeServiceIntro { font-size:15rem; }
 #home .homeServiceDirectoryGrid { grid-template-columns:minmax(0,1fr); gap:14rem; }
 #home .homeServiceDirectoryGrid > a { display:grid; grid-template-columns:96rem minmax(0,1fr); gap:6rem 16rem; padding:20rem 16rem; }
 #home .homeServiceDirectoryGrid img { width:96rem; height:auto; grid-row:span 3; align-self:center; }
 #home .homeServiceDirectoryGrid h3 { min-height:0; margin:0; }
 #home .homeServiceDirectoryGrid a > .homeServiceCardButton { margin-top:6rem; font-size:13rem; }
 body.servicePage .servicePriceCards.kaitaiSkeletonPrices { grid-template-columns:minmax(0,1fr); }
 body.servicePage .kaitaiSkeletonPrices .servicePriceAmount strong { font-size:34rem; }
}
body.servicePage .transportCertificateSample { max-width:260rem; margin:24rem 0; }
body.servicePage .transportCertificateSample img { display:block; width:100%; height:auto; border:1rem solid #d4e1e9; }
body.servicePage .transportCertificateSample figcaption { font-size:13rem; line-height:1.8; margin-top:8rem; }
body.servicePage .transportSortingTable table { min-width:560rem; }
body.servicePage .transportSortingTable th { white-space:normal; }
body.certificatePage .inquiryFormSection { margin:20rem 0 28rem; padding:0; }
body.certificatePage .inquiryFormSection h3 { margin:0 0 14rem; padding-bottom:12rem; border-bottom:1rem solid #d4e1e9; font-size:21rem; }
body.certificatePage .inquiryFields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16rem; align-items:start; }
body.certificatePage .inquiryField { min-width:0; margin-bottom:16rem; }
body.servicePage.certificatePage .wpcf7 .inquiryField p { margin:0; }
body.servicePage.certificatePage .wpcf7 .inquiryFormSection h3 { margin:0 0 14rem; }
body.certificatePage .inquiryFields .inquiryField { margin-bottom:0; }
body.certificatePage .inquiryField label, body.certificatePage .inquiryChoice legend { display:block; font-size:15rem; font-weight:700; margin-bottom:8rem; }
body.certificatePage .inquiryRequired, body.certificatePage .inquiryOptional { display:inline-block; margin-left:5rem; padding:2rem 7rem; border-radius:3rem; font-size:11rem; line-height:1.6; background:#edf1f4; color:#587086; }
body.certificatePage .inquiryRequired { background:#a84336; color:#fff; }
body.certificatePage .wpcf7-form-control-wrap { display:block; }
body.certificatePage .wpcf7 input:not([type=submit]):not([type=radio]):not([type=checkbox]), body.certificatePage .wpcf7 select, body.certificatePage .wpcf7 textarea { width:100%; max-width:100%; min-width:0; min-height:48rem; box-sizing:border-box; padding:12rem; border:1rem solid #c7d5df; border-radius:4rem; background:#fbfcfd; color:#0b2948; font:inherit; font-size:16rem; line-height:1.6; }
body.certificatePage .wpcf7 textarea { min-height:170rem; resize:vertical; }
body.certificatePage .wpcf7 :is(input,select,textarea):focus-visible { outline:2rem solid #397aa9; outline-offset:2rem; }
body.certificatePage .inquiryChoice { border:0; padding:0; margin:0; min-width:0; }
body.certificatePage .inquiryChoice .wpcf7-radio { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:16rem 28rem; }
body.certificatePage .inquiryChoice .wpcf7-list-item { margin:0; }
body.certificatePage .inquiryChoice label { display:flex; align-items:center; gap:8rem; font-size:15rem; cursor:pointer; }
body.certificatePage .inquiryChoice input[type=radio] { flex-shrink:0; width:18rem; min-width:18rem; height:18rem; margin:0; padding:0; box-sizing:border-box; border-radius:50%; accent-color:#39766b; }
body.servicePage.certificatePage .wpcf7 .inquiryChoice p { margin:8rem 0; }
body.servicePage.certificatePage .wpcf7 .inquiryFieldNote { margin:12rem 0; font-size:14rem; }
body.certificatePage .inquirySubmit { margin-top:28rem; padding-top:24rem; border-top:1rem solid #d4e1e9; text-align:center; }
body.certificatePage .inquirySubmit .wpcf7-spinner { display:block; margin:12rem auto 0; }
body.certificatePage .inquirySubmit input { max-width:100%; width:320rem; min-height:60rem; padding:16rem; border:0; border-radius:4rem; background:#3979b4; color:white; font-size:17rem; font-weight:700; cursor:pointer; }
body.certificatePage .wpcf7-turnstile { margin-bottom:28rem; }
body.certificatePage .inquiryPostalStatus { display:block; margin-top:8rem; font-size:12rem; line-height:1.8; color:#4b657b; }
body.certificatePage .wpcf7-not-valid-tip { font-size:13rem; margin-top:6rem; }
body.certificatePage .wpcf7-response-output { margin:24rem 0 0; padding:16rem; font-size:15rem; }
@media(max-width:780px) {
 body.certificatePage .inquiryFields { grid-template-columns:minmax(0,1fr); }
}
.recycleCategory { margin:32rem 0; }
.recycleCategory > h2 { font-size:23rem; line-height:1.6; margin-bottom:18rem; color:#215a47; }
.recycleIndex .recycleGridSingle { grid-template-columns:minmax(0,1fr); }
body.servicePage .recycleReference { margin:28rem 0; border:1rem solid #d4e1e9; padding:18rem; border-radius:4rem; }
body.servicePage .recycleReference > summary { cursor:pointer; font-size:16rem; font-weight:700; line-height:1.8; }
body.servicePage .serviceContent .recycleReference p { font-size:14rem; }
body.servicePage .serviceContent .recycleReference table { min-width:520rem; font-size:14rem; }
body.servicePage .serviceContent .recycleSteps { padding:22rem 26rem; border-left:4rem solid #39766b; background:#f0f6f3; }
body.servicePage .serviceContent .recycleSteps h3 { margin-top:0; }
body.servicePage .serviceContent .recycleSteps p:last-child { margin-bottom:0; }
@media(max-width:780px) {
 .recycleCategory > h2 { font-size:21rem; }
 body.servicePage .serviceContent .recycleSteps { padding:18rem; }
 body.servicePage .servicePriceAmountRange strong { font-size:clamp(24rem,7.6vw,32rem); }
}
/* 建築系廃棄物 */
body.servicePage .servicePriceCards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:20rem; margin:24rem 0 32rem; }
body.servicePage .servicePriceCards > .wp-block-group__inner-container { display:contents; }
body.servicePage .servicePriceCards.servicePriceCardsSingle { grid-template-columns:minmax(0,1fr); }
body.servicePage .servicePriceCard { min-width:0; padding:24rem 22rem; background:#f0f6f8; border:1rem solid #ccdfe7; border-top:4rem solid #39766b; border-radius:5rem; }
body.servicePage .serviceContent .servicePriceCard h3 { margin:0 0 24rem; font-size:19rem; line-height:1.7; }
body.servicePage .serviceContent .servicePriceCard p { font-size:14rem; line-height:1.9; margin:16rem 0; }
body.servicePage .serviceContent .servicePriceCard .servicePriceUnit { margin:0 0 4rem; font-weight:700; font-size:14rem; }
body.servicePage .serviceContent .servicePriceCard .servicePriceAmount { margin:0 0 16rem; font-size:13rem; line-height:1.7; }
body.servicePage .servicePriceAmount strong { display:inline-block; font-size:38rem; font-weight:800; letter-spacing:-.025em; line-height:1.3; color:#053a70; margin-right:4rem; }
body.servicePage .serviceContent .servicePriceCard .servicePriceCondition { margin:0 0 20rem; padding:8rem 10rem; background:#deece5; border-radius:3rem; color:#215a47; font-size:13rem; font-weight:700; }
body.servicePage .serviceContent .servicePriceCard .servicePriceFee { margin-bottom:0; padding:12rem; background:#fff6e5; border-left:3rem solid #c6953e; color:#694a1f; font-size:13rem; }
body.servicePage .servicePriceTable { border-top:3rem solid #39766b; }
body.servicePage .serviceContent .servicePriceTable td:last-child { color:#053a70; font-size:22rem; font-weight:700; background:#f0f6f8; }
@media(max-width:780px) {
 body.servicePage .servicePriceCards { grid-template-columns:minmax(0,1fr); gap:18rem; }
 body.servicePage .servicePriceCard { padding:22rem 18rem; }
 body.servicePage .servicePriceAmount strong { font-size:36rem; }
 body.servicePage .serviceContent .servicePriceTable td:last-child { font-size:19rem; }
}
body.servicePage .serviceLead { white-space:pre-line; }
.constructionIndex { padding:48rem 0 60rem; background:#f7f9fb; }
.constructionIntro { margin-bottom:30rem; }
.constructionIntro .eyebrow { color:#39766b; font-size:14rem; }
.constructionIntro h2 { font-size:28rem; line-height:1.6; margin:10rem 0 18rem; }
.constructionIntro p:last-child { font-size:17rem; line-height:1.9; }
.constructionGrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:24rem; }
.constructionGrid > a { display:grid; grid-template-columns:150rem minmax(0,1fr); align-items:center; gap:20rem; padding:24rem; background:white; border:1rem solid #d4e1e9; border-radius:5rem; }
.constructionGrid figure { margin:0; }
.constructionGrid img { display:block; width:100%; height:auto; }
.constructionGrid h3 { font-size:22rem; line-height:1.6; margin:0 0 12rem; }
.constructionGrid p { font-size:15rem; line-height:1.9; }
.constructionGrid span { display:block; font-size:14rem; font-weight:700; margin-top:20rem; color:#0669bf; }
.constructionGrid > a:hover { border-color:#39766b; }
.constructionNotes { padding:28rem 32rem; margin-top:32rem; border-left:4rem solid #39766b; background:#edf5f1; font-size:16rem; line-height:1.95; }
.constructionNotes h2 { font-size:23rem; margin-bottom:16rem; }
.constructionNotes ul { list-style:disc; padding-left:24rem; }
.constructionNotes li { margin:8rem 0; }
.constructionIndex .disposalSupportingLinks { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:24rem; margin-top:28rem; font-size:16rem; }
.constructionIndex .disposalSupportingLinks a { color:#0669bf; text-decoration:underline; text-underline-offset:4rem; }
body.servicePage .serviceContent .wp-block-table { max-width:100%; overflow-x:auto; }
body.servicePage .serviceContent .constructionPriceTable table { min-width:640rem; table-layout:fixed; }
body.servicePage .serviceContent .constructionPriceTable th:nth-child(1) { width:30%; }
body.servicePage .serviceContent .constructionPriceTable th:nth-child(2) { width:14%; }
body.servicePage .serviceContent .constructionPriceTable th:nth-child(3) { width:16%; }
body.servicePage .serviceContent .constructionPriceTable th:nth-child(4) { width:40%; }
body.servicePage .serviceContent .constructionPriceTable th:nth-child(2), body.servicePage .serviceContent .constructionPriceTable td:nth-child(2), body.servicePage .serviceContent .constructionPriceTable th:nth-child(3), body.servicePage .serviceContent .constructionPriceTable td:nth-child(3) { white-space:nowrap; }
@media(max-width:780px) {
 .constructionIndex { padding:28rem 0 36rem; }
 .constructionIntro h2 { font-size:24rem; }
 .constructionIntro p:last-child { font-size:15rem; }
 .constructionGrid { grid-template-columns:minmax(0,1fr); gap:18rem; }
 .constructionGrid > a { grid-template-columns:90rem minmax(0,1fr); gap:16rem; padding:20rem 16rem; }
 .constructionGrid h3 { font-size:20rem; }
 .constructionGrid p { font-size:14rem; }
 .constructionGrid span { font-size:13rem; margin-top:14rem; }
 .constructionNotes { padding:22rem 18rem; font-size:15rem; }
 .constructionNotes h2 { font-size:21rem; }
}
/* 対応エリア */
#area .areaHero { height:auto; min-height:250rem; padding:48rem 0; background:#edf3f5; color:#0b2948; }
#area .areaHero .eyebrow { color:#39766b; font-size:14rem; }
#area .areaHero h1 { color:#053a70; font-size:38rem; line-height:1.6; margin-bottom:16rem; }
#area .areaHero p:last-child { font-size:17rem; line-height:1.9; }
#area .areaMain { padding:48rem 0 60rem; background:#f7f9fb; }
#area .areaContainer { width:calc(100% - 40rem); max-width:1100rem; margin:0 auto; }
#area .areaArticle { font-size:17rem; line-height:1.95; }
#area .areaArticle h2 { font-size:28rem; line-height:1.6; margin:40rem 0 18rem; }
#area .areaArticle p { margin:16rem 0; }
#area .areaOverview { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:36rem; margin:0 0 48rem; padding:36rem; background:white; border:1rem solid #dce6ee; border-radius:5rem; }
#area .areaOverview > .wp-block-group__inner-container { display:contents; }
#area .areaOverview h2 { margin-top:8rem; font-size:30rem; }
#area .areaOverview .areaKicker { margin:0; font-size:14rem; font-weight:700; color:#39766b; }
#area .areaOverview .areaNotice { padding-top:18rem; border-top:1rem solid #dce6ee; font-size:13rem; color:#4b657b; }
#area .areaMap { margin:0; text-align:center; }
#area .areaMap img { display:block; width:100%; max-width:420rem; height:auto; margin:0 auto; }
#area .areaPrefList { display:flex; flex-wrap:wrap; justify-content:flex-start; list-style:none; gap:8rem; margin:22rem 0; padding:0; }
#area .areaPrefList li { margin:0; }
#area .areaPrefList a { display:block; padding:7rem 12rem; border:1rem solid #d1e0e8; border-radius:4rem; background:#f3f7fa; font-size:14rem; font-weight:700; }
#area .areaPrefList a:hover { background:#e2f0ea; border-color:#8bb7a5; }
#area .areaSectionLead { font-size:15rem; color:#4b657b; }
#area .areaRegion { margin:12rem 0; padding:0 28rem; border:1rem solid #d3e0e9; border-radius:5rem; background:white; scroll-margin-top:calc(var(--header-height,120rem) + 20rem); }
#area .areaRegion > summary { position:relative; padding:21rem 36rem 21rem 0; list-style:none; font-size:21rem; font-weight:700; cursor:pointer; }
#area .areaRegion > summary::-webkit-details-marker { display:none; }
#area .areaRegion > summary::after { content:'+'; position:absolute; right:0; top:50%; transform:translateY(-50%); color:#39766b; font-size:28rem; font-weight:400; }
#area .areaRegion[open] > summary { border-bottom:1rem solid #dce6ee; }
#area .areaRegion[open] > summary::after { content:'−'; }
#area .areaRegion h3 { margin:22rem 0 8rem; font-size:18rem; }
#area .areaRegion p { font-size:15rem; line-height:2.1; overflow-wrap:anywhere; }
#area .areaCaseLink { padding:0 0 14rem; }
#area .areaCaseLink a { display:inline-flex; align-items:center; gap:20rem; color:#0669bf; font-weight:700; text-decoration:underline; text-underline-offset:4rem; }
#area .areaOutside { margin:36rem 0 0; padding:28rem 32rem; background:#edf5f1; border-left:4rem solid #39766b; border-radius:3rem; }
#area .areaOutside h2 { margin-top:0; font-size:23rem; }
#area .areaOutside p { font-size:16rem; }
#area .areaOutside .areaCaseLink { padding:0; margin-bottom:0; }
#inquiry .inquiryAreaLink a { display:inline-block; margin-top:12rem; color:#0669bf; text-decoration:underline; text-underline-offset:4rem; font-size:14rem; }
@media (max-width:780px) {
 #area .areaHero { min-height:0; padding:32rem 0; }
 #area .areaHero h1 { font-size:29rem; }
 #area .areaHero p:last-child { font-size:15rem; }
 #area .areaMain { padding:28rem 0 36rem; }
 #area .areaArticle { font-size:15rem; }
 #area .areaArticle h2 { font-size:24rem; }
 #area .areaOverview { grid-template-columns:minmax(0,1fr); gap:18rem; padding:24rem 18rem; margin-bottom:32rem; }
 #area .areaOverview h2 { font-size:26rem; }
 #area .areaPrefList a { padding:7rem 10rem; font-size:13rem; }
 #area .areaMap img { max-width:340rem; }
 #area .areaRegion { padding:0 18rem; }
 #area .areaRegion > summary { font-size:19rem; padding-top:17rem; padding-bottom:17rem; }
 #area .areaRegion p { font-size:15rem; }
 #area .areaOutside { padding:22rem 18rem; }
 #area .areaOutside h2 { font-size:22rem; }
 #area .areaOutside p { font-size:15rem; }
}
/* お問い合わせ */
#inquiry .inquiryHero { height: auto; min-height: 250rem; padding: 48rem 0; background: #edf3f5; color: #0b2948; }
#inquiry .inquiryHero .eyebrow { color: #39766b; font-size: 14rem; }
#inquiry .inquiryHero h1 { font-size: 38rem; line-height: 1.6; margin-bottom: 16rem; color: #053a70; }
#inquiry .inquiryHero p:last-child { font-size: 17rem; line-height: 1.9; }
#inquiry .inquiryMain { padding: 48rem 0 64rem; background: #f7f9fb; }
#inquiry .inquiryContainer { width: calc(100% - 40rem); max-width: 900rem; margin: 0 auto; font-size: 16rem; line-height: 1.9; }
#inquiry .inquiryIntro { text-align: center; }
#inquiry .inquiryKicker { color: #39766b; font-size: 15rem; font-weight: 700; }
#inquiry .inquiryIntro h2 { font-size: 30rem; margin: 8rem 0 18rem; }
#inquiry .inquiryChannels { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 20rem; margin: 30rem 0 40rem; }
#inquiry .inquiryChannels a { display: flex; align-items: center; justify-content: center; gap: 14rem; padding: 22rem 18rem; background: #fff; border: 1rem solid #ccdae5; border-radius: 5rem; }
#inquiry .inquiryChannels .inquiryLine { background: #edf7f0; border-color: #bedbc8; }
#inquiry .inquiryChannels img { width: 38rem; height: 38rem; padding: 6rem; border-radius: 9rem; background: #06c755; box-sizing: border-box; }
#inquiry .inquiryChannels strong { display: block; font-size: 18rem; line-height: 1.6; }
#inquiry .inquiryChannels small { display: block; font-size: 12rem; }
#inquiry .inquiryPhone strong { font-size: 26rem; letter-spacing: .02em; }
#inquiry .inquiryFormPanel { padding: 40rem; border: 1rem solid #dce6ee; border-radius: 5rem; background: white; }
#inquiry .inquiryFormHeading { margin-bottom: 32rem; }
#inquiry .inquiryFormHeading .eyebrow { font-size: 13rem; color: #39766b; }
#inquiry .inquiryFormHeading h2 { font-size: 27rem; margin: 6rem 0 16rem; }
#inquiry .inquiryFormHeading p:last-child { font-size: 14rem; }
#inquiry .inquiryRequired, #inquiry .inquiryOptional { display: inline-block; font-size: 11rem; line-height: 1.6; padding: 2rem 7rem; border-radius: 3rem; vertical-align: middle; font-weight: 500; }
#inquiry .inquiryRequired { background: #a84336; color: white; }
#inquiry .inquiryOptional { background: #edf1f4; color: #587086; }
#inquiry .inquiryFormSection { padding: 0; margin: 0 0 36rem; }
#inquiry .inquiryFormSection h3 { display: flex; align-items: center; justify-content: flex-start; gap: 12rem; font-size: 21rem; padding-bottom: 14rem; margin-bottom: 24rem; border-bottom: 1rem solid #d4e2ec; }
#inquiry .inquiryFormSection h3 > span:first-child { color: #39766b; font-size: 15rem; font-family: Roboto, sans-serif; }
#inquiry .inquiryFields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 22rem 24rem; }
#inquiry .inquiryField { min-width: 0; }
#inquiry .inquiryField label, #inquiry .inquiryChoice legend { display: block; font-size: 15rem; font-weight: 700; margin-bottom: 8rem; }
#inquiry .inquiryField label > span, #inquiry .inquiryChoice legend > span { margin-left: 6rem; }
#inquiry .wpcf7-form-control-wrap { display: block; }
#inquiry .wpcf7 .wpcf7-turnstile { margin-bottom: 28rem; }
#inquiry .inquiryPostalStatus { display: block; margin-top: 8rem; font-size: 12rem; line-height: 1.8; color: #4b657b; }
#inquiry .wpcf7 input:not([type=submit]):not([type=radio]):not([type=checkbox]), #inquiry .wpcf7 select, #inquiry .wpcf7 textarea { width: 100%; max-width: 100%; min-width: 0; height: auto; min-height: 48rem; padding: 12rem; border: 1rem solid #c7d5df; border-radius: 4rem; background: #fbfcfd; color: #0b2948; font: inherit; font-size: 16rem; line-height: 1.6; }
#inquiry .wpcf7 select { padding-right: 30rem; }
#inquiry .wpcf7 textarea { min-height: 190rem; resize: vertical; }
#inquiry .wpcf7 input:focus-visible, #inquiry .wpcf7 select:focus-visible, #inquiry .wpcf7 textarea:focus-visible { outline: 2rem solid #397aa9; outline-offset: 2rem; }
#inquiry .wpcf7 input::placeholder, #inquiry .wpcf7 textarea::placeholder { color: #788994; opacity: 1; }
#inquiry .inquiryFieldNote { margin: 24rem 0 18rem; font-size: 14rem; color: #4b657b; }
#inquiry .inquiryChoice { min-width: 0; padding: 0; margin: 0 0 26rem; border: 0; }
#inquiry .inquiryChoice .wpcf7-radio, #inquiry .inquiryChoice .wpcf7-checkbox { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10rem 20rem; }
#inquiry .inquiryChoice .wpcf7-list-item { margin: 0; }
#inquiry .inquiryChoice .wpcf7-list-item label { display: flex; align-items: center; gap: 7rem; font-size: 15rem; cursor: pointer; }
#inquiry .inquiryChoice input[type=radio], #inquiry .inquiryChoice input[type=checkbox] { width: 18rem; height: 18rem; min-width: 18rem; margin: 0; padding: 0; accent-color: #39766b; }
#inquiry .inquirySubLabel { display: block; font-size: 13rem; margin: 16rem 0 6rem; }
#inquiry .inquiryUploads .inquiryField { padding: 14rem; border: 1rem solid #dce6ee; border-radius: 4rem; background: #f6f9fb; }
#inquiry .wpcf7 .inquiryUploads input[type=file] { min-height: 0; border: 0; background: transparent; padding: 0; font-size: 13rem; }
#inquiry .inquiryUploads input::file-selector-button { padding: 8rem 10rem; border: 1rem solid #c7d5df; border-radius: 3rem; background: white; color: #0b2948; margin-right: 8rem; cursor: pointer; }
#inquiry .inquiryUploads .inquiryFileControl { position: relative; }
#inquiry .inquiryFileButton { display: flex; align-items: center; justify-content: center; min-height: 44rem; padding: 8rem 12rem; border: 1rem solid #c7d5df; border-radius: 3rem; background: white; color: #0b2948; font-size: 14rem; box-sizing: border-box; }
#inquiry .wpcf7 .inquiryUploads .inquiryFileControl input[type=file] { position: absolute; top: 0; left: 0; width: 100%; height: 44rem; margin: 0; opacity: 0; cursor: pointer; }
#inquiry .inquiryFileControl:focus-within .inquiryFileButton { outline: 2rem solid #397aa9; outline-offset: 2rem; }
#inquiry .inquiryFileName { display: block; margin-top: 10rem; font-size: 13rem; line-height: 1.8; white-space: normal; overflow-wrap: anywhere; }
#inquiry .inquirySubmit { text-align: center; border-top: 1rem solid #dce6ee; padding-top: 28rem; }
#inquiry .inquirySubmit p { font-size: 13rem; color: #4b657b; margin-bottom: 22rem; }
#inquiry .inquirySubmit input[type=submit] { width: 320rem; max-width: 100%; height: 60rem; background: #3979b4; border-color: #3979b4; color: white; font-size: 18rem; font-weight: 700; }
#inquiry .inquirySubmit .wpcf7-spinner { display: block; margin: 12rem auto 0; }
#inquiry .wpcf7-not-valid-tip { margin-top: 6rem; font-size: 13rem; }
#inquiry .wpcf7 form .wpcf7-response-output { margin: 24rem 0 0; padding: 16rem; font-size: 15rem; }
#inquiry .inquiryDirect { text-align: center; margin-top: 24rem; font-size: 14rem; }
#inquiry .inquiryDirect a { color: #0669bf; text-decoration: underline; overflow-wrap: anywhere; }
@media (max-width: 780px) {
 #inquiry .inquiryHero { min-height: 0; padding: 32rem 0; }
 #inquiry .inquiryHero h1 { font-size: 29rem; }
 #inquiry .inquiryHero p:last-child { font-size: 15rem; }
 #inquiry .inquiryMain { padding: 30rem 0 40rem; }
 #inquiry .inquiryContainer { font-size: 15rem; }
 #inquiry .inquiryIntro h2 { font-size: 25rem; }
 #inquiry .inquiryChannels { grid-template-columns: 1fr; gap: 12rem; margin: 24rem 0; }
 #inquiry .inquiryChannels a { padding: 18rem 12rem; }
 #inquiry .inquiryFormPanel { padding: 24rem 18rem; }
 #inquiry .inquiryFormHeading h2 { font-size: 23rem; }
 #inquiry .inquiryFields { grid-template-columns: minmax(0, 1fr); gap: 20rem; }
 #inquiry .inquiryFormSection h3 { font-size: 20rem; }
 #inquiry .inquiryChoice .wpcf7-radio { gap: 12rem 18rem; }
 #inquiry .inquiryDirect { text-align: left; }
}
#flow .stepCopy .paymentGuideLink { color: var(--blue); text-decoration: underline; text-underline-offset: 4rem; }
/* お支払い方法のご案内 */
body#credit-card-payment .paymentHero { height: auto; min-height: 250rem; padding: 48rem 0; background: #edf3f5; color: #0b2948; }
body#credit-card-payment .paymentHero .eyebrow { color: #39766b; font-size: 14rem; }
body#credit-card-payment .paymentHero h1 { color: #053a70; font-size: 38rem; line-height: 1.6; margin-bottom: 18rem; }
body#credit-card-payment .paymentHero p:last-child { color: #0b2948; font-size: 17rem; line-height: 1.9; }
body#credit-card-payment .paymentDetail { padding: 48rem 0 60rem; background: #f7f9fb; }
body#credit-card-payment .paymentDetail > .contentWrapper { width: calc(100% - 40rem); max-width: 900rem; margin-left: auto; margin-right: auto; }
body#credit-card-payment .paymentArticle { padding: 40rem; border: 1rem solid #dce6ee; border-radius: 4rem; background: white; font-size: 17rem; line-height: 1.95; }
body#credit-card-payment .paymentArticle h2 { font-size: 26rem; line-height: 1.6; margin: 40rem 0 20rem; }
body#credit-card-payment .paymentArticle > h2:first-child { margin-top: 0; }
body#credit-card-payment .paymentArticle p { margin: 16rem 0; }
body#credit-card-payment .paymentNotice { margin: 28rem 0; padding: 22rem 24rem; background: #eef6f3; border-left: 4rem solid #39766b; }
body#credit-card-payment .paymentNotice h2 { font-size: 21rem; margin: 0 0 10rem; }
body#credit-card-payment .paymentNotice p { margin: 0; }
body#credit-card-payment .paymentBrands { margin: 30rem 0; line-height: 1; }
body#credit-card-payment .paymentBrands img { display: block; width: 100%; height: auto; }
body#credit-card-payment .paymentMethods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 24rem; }
body#credit-card-payment .paymentMethod { margin: 0; padding: 24rem; border: 1rem solid #dce6ee; border-radius: 4rem; }
body#credit-card-payment .paymentMethod h3 { font-size: 21rem; line-height: 1.7; margin-bottom: 16rem; }
body#credit-card-payment .paymentMethod ul { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8rem; list-style: none; margin: 0; padding: 0; }
body#credit-card-payment .paymentMethod li { padding: 5rem 10rem; border-radius: 3rem; background: #f0f4f7; font-size: 14rem; line-height: 1.7; }
body#credit-card-payment .paymentMethod p { font-size: 15rem; line-height: 1.85; }
body#credit-card-payment .paymentArticle .paymentCaution { color: #775524; font-weight: 700; }
body#credit-card-payment .paymentArticle .paymentSteps { list-style: decimal; padding-left: 24rem; }
body#credit-card-payment .paymentSteps li { padding-left: 6rem; margin: 16rem 0; }
body#credit-card-payment .paymentSteps strong { display: block; }
body#credit-card-payment .paymentRelated { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24rem; margin-top: 26rem; }
body#credit-card-payment .paymentRelated a { display: flex; align-items: center; justify-content: space-between; gap: 12rem; padding: 20rem; border: 1rem solid #dce6ee; border-radius: 4rem; background: white; font-size: 15rem; line-height: 1.8; }
@media (max-width: 780px) {
	body#credit-card-payment .paymentHero { padding: 32rem 0; min-height: 0; }
	body#credit-card-payment .paymentHero h1 { font-size: 29rem; }
	body#credit-card-payment .paymentHero p:last-child { font-size: 15rem; }
	body#credit-card-payment .paymentDetail { padding: 26rem 0 36rem; }
	body#credit-card-payment .paymentArticle { padding: 24rem 18rem; font-size: 15rem; }
	body#credit-card-payment .paymentArticle h2 { font-size: 23rem; }
	body#credit-card-payment .paymentNotice { padding: 18rem; }
	body#credit-card-payment .paymentNotice h2 { font-size: 20rem; }
	body#credit-card-payment .paymentMethods, body#credit-card-payment .paymentRelated { grid-template-columns: minmax(0, 1fr); gap: 18rem; }
	body#credit-card-payment .paymentMethod { padding: 20rem; }
}
/* 回収・撤去サービス詳細 */
body.servicePage .serviceHero { height: auto; min-height: 290rem; padding: 36rem 0; background: #edf3f5; color: #0b2948; }
body.servicePage .serviceHeroInner { display: grid; grid-template-columns: minmax(0, 1fr) 290rem; align-items: center; gap: 40rem; }
body.servicePage .serviceHero .eyebrow { color: #39766b; font-size: 14rem; }
body.servicePage .serviceHero h1 { color: #053a70; font-size: 36rem; line-height: 1.55; margin-bottom: 18rem; }
body.servicePage .serviceLead { font-size: 17rem; line-height: 1.9; }
body.servicePage .serviceHero img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
body.servicePage .serviceDetail { padding: 44rem 0 60rem; background: #f7f9fb; }
body.servicePage .serviceColumns { display: grid; grid-template-columns: minmax(0, 1fr) 280rem; gap: 32rem; align-items: start; }
body.servicePage .serviceMain { min-width: 0; }
body.servicePage .serviceArticle { padding: 34rem; border: 1rem solid #dce6ee; border-radius: 4rem; background: white; }
body.servicePage .serviceToc { display: block; margin: 0 0 36rem; padding: 22rem; border: 1rem solid #dce6ee; border-radius: 4rem; background: #f5f8fa; }
body.servicePage .serviceToc > p { font-size: 16rem; font-weight: 700; margin-bottom: 12rem; }
body.servicePage .serviceToc ul { padding: 0; margin: 0; list-style: none; }
body.servicePage .serviceToc li { margin: 8rem 0; }
body.servicePage .serviceToc a { display: block; height: auto; padding: 0; font-size: 14rem; line-height: 1.8; text-decoration: underline; text-underline-offset: 3rem; }
body.servicePage .serviceContent { font-size: 17rem; line-height: 1.95; overflow-wrap: anywhere; }
body.servicePage .serviceContent h2 { font-size: 26rem; line-height: 1.65; margin: 46rem 0 22rem; padding-bottom: 12rem; border-bottom: 2rem solid #cfe0ed; scroll-margin-top: calc(var(--header-height, 120rem) + 24rem); }
body.servicePage .serviceContent > h2:first-child { margin-top: 0; }
body.servicePage .serviceContent h3 { font-size: 21rem; line-height: 1.7; margin: 30rem 0 14rem; }
body.servicePage .serviceContent p { margin: 18rem 0; }
body.servicePage .serviceContent a { color: #0669bf; text-decoration: underline; text-underline-offset: 3rem; }
body.servicePage .serviceContent ul, body.servicePage .serviceContent ol { padding-left: 24rem; margin: 20rem 0; }
body.servicePage .serviceContent ul { list-style: disc; }
body.servicePage .serviceContent ol { list-style: decimal; }
body.servicePage .serviceContent li { margin: 8rem 0; }
body.servicePage .serviceContent img { display: block; max-width: 100%; height: auto; margin: 22rem auto; border-radius: 4rem; }
body.servicePage .serviceContent figure { line-height: inherit; margin: 24rem 0; }
body.servicePage .serviceContent .serviceTable { max-width: 100%; overflow-x: auto; margin: 24rem 0; }
body.servicePage .serviceContent table { width: 100%; border-collapse: collapse; font-size: 15rem; line-height: 1.85; }
body.servicePage .serviceContent th, body.servicePage .serviceContent td { height: auto; padding: 12rem; border: 1rem solid #ccdce6; vertical-align: top; text-align: left; }
body.servicePage .serviceContent th { background: #edf3f7; }
body.servicePage .serviceContent blockquote { padding: 18rem 22rem; margin: 24rem 0; background: #f0f7f5; border-left: 4rem solid #8cbab2; }
body.servicePage .serviceContent blockquote > :first-child { margin-top: 0; }
body.servicePage .serviceContent blockquote > :last-child { margin-bottom: 0; }
body.servicePage .serviceContent .serviceInlineLinks { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10rem; margin: 20rem 0; }
body.servicePage .serviceContent .serviceInlineLinks a { padding: 10rem 14rem; border: 1rem solid #cbdce8; border-radius: 4rem; font-size: 14rem; line-height: 1.7; text-decoration: none; }
body.servicePage .serviceContent .serviceGallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16rem; margin: 24rem 0; }
body.servicePage .serviceContent .serviceGallery img { width: 100%; max-height: 240rem; object-fit: contain; margin: 0; }
body.servicePage .serviceContent p.serviceGallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.servicePage .serviceContent p.serviceGallery img { height: 145rem; }
body.servicePage .serviceContent .serviceGalleryCompact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.servicePage .serviceContent .serviceGalleryCompact img { height: 145rem; }
body.servicePage .serviceContent .serviceGallery figure { margin: 0; }
body.servicePage .serviceContent .serviceGallery > .wp-block-group__inner-container, body#credit-card-payment .paymentMethods > .wp-block-group__inner-container { display: contents; }
body.servicePage .serviceContent .serviceGallery .wp-block-image { display: flex; justify-content: center; align-items: start; }
body.servicePage .serviceContent .serviceInlineLinks .wp-block-button { margin: 0; }
body.servicePage .serviceContent .serviceInlineLinks .wp-block-button__link { background: white; color: #0669bf; box-shadow: none; }
body.servicePage .serviceContent .serviceCaseGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 16rem; margin: 24rem 0; }
body.servicePage .serviceContent .serviceCase { display: flex; flex-direction: column; align-items: stretch; gap: 8rem; color: #0b2948; text-decoration: none; font-size: 14rem; line-height: 1.7; }
body.servicePage .serviceContent .serviceCase img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; }
body.servicePage .serviceCase time { font-size: 12rem; color: #647b8e; }
body.servicePage .serviceBack { display: block; margin-top: 24rem; padding: 20rem; background: #053a70; color: white; border-radius: 4rem; text-align: center; font-size: 16rem; }
body.servicePage .serviceMenu, body.servicePage .serviceAsideLinks { border: 1rem solid #cbdce8; border-radius: 4rem; background: white; padding: 20rem; }
body.servicePage .serviceMenu .eyebrow { font-size: 12rem; color: #39766b; }
body.servicePage .serviceMenu h2 { font-size: 20rem; line-height: 1.6; margin-bottom: 12rem; }
body.servicePage .serviceMenu [role="navigation"] { display: block; margin: 0; }
body.servicePage .serviceMenu [role="navigation"] a { display: flex; justify-content: space-between; gap: 12rem; height: auto; padding: 14rem 0; border-top: 1rem solid #dce6ee; font-size: 14rem; font-weight: 700; line-height: 1.8; }
body.servicePage .serviceMenu a[aria-current="page"] { color: #26776c; }
body.servicePage .serviceAsideLinks { margin-top: 18rem; }
body.servicePage .serviceAsideLinks a { display: block; font-size: 14rem; line-height: 1.8; padding: 10rem 0; }
@media (min-width: 781px) {
	body.servicePage .serviceAside[data-follow-ready] { position: sticky; top: min(calc(var(--header-height, 120rem) + 24rem), calc(100dvh - var(--knowledge-aside-height) - 24rem)); }
}
@media (max-width: 780px) {
	body.servicePage .serviceHero { padding: 30rem 0; }
	body.servicePage .serviceHeroInner { grid-template-columns: minmax(0, 1fr); gap: 16rem; }
	body.servicePage .serviceHero h1 { font-size: 29rem; }
	body.servicePage .serviceHero img { max-width: 220rem; margin: 0 auto; }
	body.servicePage .serviceLead { font-size: 15rem; }
	body.servicePage .serviceColumns { grid-template-columns: minmax(0, 1fr); gap: 30rem; }
	body.servicePage .serviceDetail { padding: 26rem 0 36rem; }
	body.servicePage .serviceArticle { padding: 22rem 18rem; }
	body.servicePage .serviceToc { padding: 18rem; }
	body.servicePage .serviceContent { font-size: 15rem; }
	body.servicePage .serviceContent h2 { font-size: 23rem; }
	body.servicePage .serviceContent h3 { font-size: 20rem; }
	body.servicePage .serviceContent p.serviceGallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.servicePage .serviceContent .serviceGalleryCompact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.servicePage .serviceContent .serviceCaseGrid { grid-template-columns: minmax(0, 1fr); }
	body.servicePage .serviceContent .serviceCase { display: grid; grid-template-columns: 96rem minmax(0, 1fr); align-items: start; gap: 4rem 12rem; }
	body.servicePage .serviceContent .serviceCase img { grid-row: span 2; }
}
.fixedHeader > nav.pc { margin-right: 20rem; }
.fixedHeader > nav.pc > a { padding-left: 12rem; padding-right: 12rem; }
#home .whatWeDo .homeServiceButtons { flex-direction: column; align-items: stretch; gap: 12rem; width: 100%; }
#home .whatWeDo .homeServiceButtons .noirButton { width: 100%; min-width: 0; }
@media (max-width: 780px) {
	#home .whatWeDo .homeServiceButtons { align-items: stretch; }
	#home .whatWeDo .homeServiceButtons .noirButton { width: 100%; }
}
/* 処分サービス一覧 */
body#disposal .disposalHero { padding: 64rem 0; color: white; background: linear-gradient(90deg, rgba(5, 31, 55, .94) 0%, rgba(5, 31, 55, .8) 40%, rgba(5, 31, 55, .35) 100%), url('img/disposal/collection-truck-hero.webp') center 43% / cover no-repeat; border-bottom: 1rem solid #d9e5ee; }
body#disposal .disposalHero .eyebrow { color: #b9d9ce; font-size: 15rem; letter-spacing: .15em; }
body#disposal .disposalHero h1 { color: white; font-size: 46rem; line-height: 1.5; margin-bottom: 22rem; }
body#disposal .disposalHero .disposalHeroLead { color: white; font-size: 25rem; font-weight: 700; line-height: 1.7; margin-bottom: 12rem; }
body#disposal .disposalHero .disposalHeroText { color: #edf3f7; font-size: 17rem; line-height: 1.9; }
body#disposal .disposalServices { padding: 56rem 0 64rem; background: #fff; }
body#disposal .disposalSectionIntro { margin-bottom: 32rem; }
body#disposal .disposalSectionIntro .eyebrow { font-size: 13rem; }
body#disposal .disposalSectionIntro h2 { font-size: 28rem; line-height: 1.6; margin-bottom: 12rem; }
body#disposal .disposalSectionIntro > p:last-child { font-size: 16rem; line-height: 1.9; }
body#disposal .disposalGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28rem; }
body#disposal .disposalServiceCard { display: flex; flex-direction: column; align-items: stretch; min-width: 0; color: #0b2948; background: #fff; border: 1rem solid #d9e5ee; border-radius: 6rem; overflow: hidden; transition: box-shadow .2s, border-color .2s; text-decoration: none; }
body#disposal .disposalServiceCard:hover { border-color: #8caea7; box-shadow: 0 8rem 24rem #0b29480d; }
body#disposal .disposalServiceCard:focus-visible, body#disposal .disposalPrayer:focus-visible { outline: 3rem solid #26776c; outline-offset: 4rem; }
body#disposal .disposalServiceCard figure { width: 100%; margin: 0; padding: 12rem 16rem 0; aspect-ratio: 3 / 2; line-height: 0; }
body#disposal .disposalServiceCard figure img { display: block; width: 100%; height: 100%; object-fit: contain; }
body#disposal .disposalCardCopy { display: flex; flex: 1; flex-direction: column; align-items: stretch; padding: 20rem 24rem 24rem; }
body#disposal .disposalItems { font-size: 12rem; color: #39766b; line-height: 1.7; margin-bottom: 8rem; }
body#disposal .disposalServiceCard h2 { font-size: 21rem; line-height: 1.6; margin-bottom: 12rem; }
body#disposal .disposalDescription { font-size: 15rem; line-height: 1.9; margin-bottom: 22rem; }
body#disposal .disposalCardMore { display: flex; align-items: center; justify-content: space-between; gap: 14rem; padding-top: 16rem; border-top: 1rem solid #d9e5ee; margin-top: auto; font-size: 14rem; font-weight: 700; line-height: 1.7; color: #053a70; }
body#disposal .disposalPrayer { display: grid; grid-template-columns: 240rem minmax(0, 1fr); align-items: center; gap: 36rem; padding: 28rem 36rem; margin-top: 36rem; border: 1rem solid #d8e6df; border-radius: 6rem; color: #0b2948; background: #f3f7f4; text-decoration: none; }
body#disposal .disposalPrayer figure { margin: 0; line-height: 0; }
body#disposal .disposalPrayer img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
body#disposal .disposalPrayer .eyebrow { font-size: 13rem; color: #39766b; letter-spacing: .04em; }
body#disposal .disposalPrayer h2 { font-size: 24rem; line-height: 1.7; margin-bottom: 10rem; }
body#disposal .disposalPrayer p { font-size: 15rem; line-height: 1.9; }
body#disposal .disposalPrayer .disposalCardMore { margin-top: 18rem; max-width: 360rem; }
body#disposal .disposalPreparation { padding: 56rem 0 64rem; background: #f1f5f8; }
body#disposal .disposalChecklist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24rem; list-style: none; margin: 0; padding: 0; }
body#disposal .disposalChecklist li { padding: 24rem; background: #fff; border-radius: 4rem; }
body#disposal .disposalChecklist li > span { color: #39766b; font: 500 22rem/1.5 Roboto, sans-serif; }
body#disposal .disposalChecklist h3 { font-size: 18rem; line-height: 1.7; margin: 10rem 0; }
body#disposal .disposalChecklist p { font-size: 15rem; line-height: 1.9; }
body#disposal .disposalSupportingLinks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24rem; margin-top: 28rem; }
body#disposal .disposalSupportingLinks a { display: flex; align-items: center; justify-content: space-between; gap: 16rem; border-bottom: 1rem solid #afc5d5; padding: 18rem 0; font-size: 16rem; font-weight: 700; line-height: 1.8; }
@media (max-width: 780px) {
	body#disposal .disposalHero { padding: 38rem 0; background-image: linear-gradient(90deg, rgba(5, 31, 55, .9), rgba(5, 31, 55, .65)), url('img/disposal/collection-truck-hero.webp'); background-position: center, center; }
	body#disposal .disposalHero h1 { font-size: 34rem; margin-bottom: 18rem; }
	body#disposal .disposalHero .disposalHeroLead { font-size: 22rem; }
	body#disposal .disposalHero .disposalHeroText { font-size: 15rem; }
	body#disposal .disposalServices, body#disposal .disposalPreparation { padding: 36rem 0; }
	body#disposal .disposalSectionIntro h2 { font-size: 24rem; }
	body#disposal .disposalSectionIntro > p:last-child { font-size: 15rem; }
	body#disposal .disposalGrid, body#disposal .disposalChecklist, body#disposal .disposalSupportingLinks { grid-template-columns: minmax(0, 1fr); gap: 20rem; }
	body#disposal .disposalServiceCard figure { max-height: 220rem; }
	body#disposal .disposalCardCopy { padding: 18rem 22rem 22rem; }
	body#disposal .disposalServiceCard h2 { font-size: 21rem; }
	body#disposal .disposalPrayer { grid-template-columns: minmax(0, 1fr); gap: 16rem; padding: 24rem; margin-top: 28rem; }
	body#disposal .disposalPrayer figure { width: 200rem; margin: 0 auto; }
	body#disposal .disposalPrayer h2 { font-size: 22rem; }
}
:root {
	--site-color:#3f73ab;
	--text-color:#0b2948;
	--bg-color:#f8f8f8;
	--color-dark:#051f24;
	--color-light:#2b3f20;
	--border-line:#d9e5ee;
	--blue:#0669bf;
	--deep:#053a70;
	--navy:#052c56;
	
	--body-background-color:#f6f6f6;

	--green:#0f7a4d;
	
	--header-hamburger-color:white;

	--recruit-color:#3f73ab;
	--recruit-blue-color:#3f73ab;
	--recruit-text-color:#2f5d8f;
	--recruit-bg-color:#f4f8fc;
}
.white { color:white; }
.whiteBg { background:white; }
.colorLight { color:var(--color-light); }

body { color:var(--text-color); background:var(--bg-color); }

.noirFloatButtons { top:var(--header-height); overflow:hidden; }
/*
.noirFloatButtons .button { width:200rem; height:60rem; transition:all 1s; transform:translateY(-60rem); }
html.ready .noirFloatButtons .button { transform:translateY(0); }
*/
.noirFloatButtons .button { width:200rem; height:60rem; transition:all .5s ease-in-out; }
html.scrollDown .noirFloatButtons .button { transform:translateY(-60rem); }

.noirButton { background:white; color:#2f5d8f; }
.noirButton.blueButton { background:#3f73ab; color:white; border:none; }
.noirButton.roundButton { border-radius:30rem; }

.sectionTitle { font-weight:900; letter-spacing:0.05em; }
.sectionTitle .sub { margin-left:3em; font-weight:normal; }
.eyebrow { color:var(--blue); margin-bottom:8rem; font-size:18rem; font-weight:500; letter-spacing:0.1em; }
.darkBg .eyebrow { color:#48b57c; }
.sub { letter-spacing:0.075em; }
@media (max-width:780px) {
	.sectionTitle .sub { display:block; margin-left:0; width:100%; margin-top:8rem; }
	.sub { font-size:15rem; letter-spacing:0; }
}

.buttons { margin-top:40rem; }
.buttons .button { min-width:220rem; height:60rem; border-radius:6rem; }

.contentWrapper { text-align:left; }
.contentWrapper.center { text-align:center; }

.bgDarkColor { background-color:var(--color-dark); color:white }
.bgLightColor { background-color:var(--color-light); color:white }

@media (max-width:780px) {
	.scrollToTop { bottom:72rem; }
	#recruit .scrollToTop { bottom:12rem; }
}


.roboto { font-family:"Roboto", sans-serif; font-optical-sizing:auto; font-style:normal; font-variation-settings:"wdth" 100; letter-spacing:0.1em; }


.headerBg {   }
.darkBg { background:linear-gradient(135deg, #06192d, #0b2948); color:white; }
/*
.darkBg { background:
	radial-gradient(circle at 20% 30%, #051f24 0%, #011e24 50%),
	radial-gradient(circle at 80% 40%, #011e24 0%, #031519 50%),
	radial-gradient(circle at 40% 80%, #011d03 0%, #051f24 50%);
	backdrop-filter:blur(20px); color:white;
}
.gloomyBg { background:
	radial-gradient(circle at 20% 30%, #2b3f20 0%, #2b3f20 50%),
	radial-gradient(circle at 80% 40%, #2b3f20 0%, #293821 50%),
	radial-gradient(circle at 40% 80%, #293821 0%, #2b3f20 50%);
	backdrop-filter:blur(20px); color:white;
}
*/


.ctaLine { background:#06C755; color:white; }
.ctaLine figure { width:40rem; }
.ctaLine figure.QR { width:60rem; }
.ctaEmail { background:linear-gradient(45deg, #eab000, #feca00); color:black; }
.ctaEmail figure { width:48rem; }
.ctaCall { background:white; color:black; pointer-events:none; }
.ctaCall figure { width:32rem; }
.ctaCall figure.QR { width:58rem; }
.ctaRecruit { background:linear-gradient(45deg, #eab000, #feca00); color:black; }
@media (max-width:780px) {
	.ctaCall { pointer-events:auto; text-align:center; }
	.ctaCall figure.QR { display:none; }
}

.photoPanel .photoCaption { position:absolute;right:-25rem; bottom:35rem; padding:22rem 35rem; background:var(--blue); color:#fff; font-weight:700; border-radius:2rem; }
@media (max-width:780px) {
	.photoPanel .photoCaption { right:-12rem; bottom:12rem; padding:10rem 20rem; }
}

/*	ページメニュー
----------------------------------------------------------*/
.pageMenu { padding:0; border-bottom:1rem solid var(--border-line); background:white; color:var(--deep); }
.pageMenu .items { display:grid; }
.pageMenu .items a { display:flex; height:60rem; font-weight:bold; }
.pageMenu .items.column4 { grid-template-columns:1fr 1fr 1fr 1fr; }
.pageMenu .items.column5 { grid-template-columns:1fr 1fr 1fr 1fr 1fr; }
.pageMenu .items a > *::after { content:"↓"; color:var(--blue); margin-left:0.5em; }
.pageMenu .items a b { margin-right:0.5em; }
.pageMenu.fullBorder { border:none; }
.pageMenu.fullBorder .items > * { border:1rem solid var(--border-line); }
.pageMenu.fullBorder .items > *:not(:last-child) { border-right:none; }
@media (max-width:780px) {
	.pageMenu .items { font-size:13rem; padding:0; text-align:center; }
	.pageMenu .items a + a { border-left:1rem solid var(--border-line); }
	.pageMenu .items a > * { height:60rem; display:flex; flex-direction:column; font-size:12rem; }
	.pageMenu .items a > *::after { content:none; }
	.pageMenu .items a b { margin-right:0; display:block; font-size:20rem; }
}

/*	パンくずリスト（全ページ共通）
----------------------------------------------------------*/
section.breadcrumbs { padding:12rem 0; background:white; border-bottom:1rem solid var(--border-line); }
section.breadcrumbs .items > * + *::before { content:'›'; padding:0 1em; }
@media (max-width:780px) {
	section.breadcrumbs { font-size:13rem; }
	
}

/*	固定ページファーストビュー
----------------------------------------------------------*/
section.pageFirstView { height:400rem; text-align:left; padding:0; color:white; display:flex; }
section.pageFirstView h1 { font-size:70rem; }
section.pageFirstView .eyebrow { color:white; }
section.pageFirstView .heroTag { font-size:24rem; }
section.pageFirstView .heroText { margin-top:20rem; font-size:16rem; }
@media (max-width:780px) {
	section.pageFirstView { height:auto; padding:40rem 0; }
	section.pageFirstView h1 { font-size:40rem; }
	section.pageFirstView .heroTag { font-size:18rem; }
}

/*	Contact form 7 オーバーライド
----------------------------------------------------------*/
.wpcf7 form label { display:block; }

/***********************************************************

	HEADER

***********************************************************/
header { color:var(--text-color); background:#fffffff0; flex-wrap:wrap; }
header .ctaBox { width:100%; background:white; }
@media (min-width:781px) {
 header .ctaBox { background:var(--navy); color:white; }
 header .ctaBox .ctaCall { background:transparent; color:white; }
 header .ctaBox .ctaCall figure img { filter:brightness(0) invert(1); }
}
header .ctaBox > * { display:flex; height:40rem; transition:height 0.3s; overflow:hidden; gap:6rem; line-height:1; padding:0 20rem; }
header .ctaBox > *.sp { display:none; }
header .ctaBox .ctaLine figure { width:24rem; }
header .ctaBox .ctaEmail figure { width:24rem; }
header .ctaBox .ctaCall figure { width:24rem; }
html.scrollDown header .ctaBox > * { height:0; }
html:not(.scrolled) #home header .ctaBox > * { height:0; }
#home header { color:white; background:linear-gradient(to bottom, rgba(2, 11, 20, .8), rgba(2, 11, 20, .6)); }
@media (max-width:780px) {
	header { overflow:visible; }
	header .ctaBox { position:fixed; left:0; bottom:0; width:100%; z-index:1010; }
	header .ctaBox > * { font-size:14rem; white-space:nowrap; }
	header .ctaBox > *.pc { display:none; }
	header .ctaBox > *.sp { display:flex; }
	header .ctaBox > *.ctaCall { padding-left:20rem; border-top:1rem solid #ccc; }
	header .ctaBox figure { flex-shrink:0; }
	header .ctaBox > *,
	html.scrollDown header .ctaBox > *,
	html:not(.scrolled) #home header .ctaBox > * { width:calc(100% / 3); height:60rem; }
	header .hamburgerMenuIcon > *,
	header .hamburgerMenuIcon > *::before,
	header .hamburgerMenuIcon > *::after { background:var(--text-color); }
	#home header .hamburgerMenuIcon > *,
	#home header .hamburgerMenuIcon > *::before,
	#home header .hamburgerMenuIcon > *::after { background:white; }
}

/*	ページメニュー
----------------------------------------------------------*/
header .pageMenu { display:flex; padding:0 40rem; width:100%; z-index:10; color:#66788c; background:white; }
header .pageMenu .recruitMenu { display:flex; flex-wrap:wrap; margin-left:auto; }
header .pageMenu .recruitMenu > * { display:flex; padding:0 20rem; height:60rem; }
header .pageMenu .recruitMenu > *:last-child { font-weight:bold; }
@media (max-width:780px) {
	header .pageMenu { display:none; }
	header .pageMenu .recruitMenu { display:none; }
}


/***********************************************************

	FOOTER

***********************************************************/

/*	FOOTER：問い合わせ
--------------------------------------------------------*/
section.footerInquiry { background:white; }
section.footerInquiry .card { height:140rem; border-radius:12rem; }
section.footerInquiry .card.ctaLine figure { width:60rem; }
section.footerInquiry .card.ctaLine figure.QR { width:60rem; }
section.footerInquiry .card.ctaEmail figure { width:80rem; }
section.footerInquiry .card.ctaCall figure { width:32rem; }
section.footerInquiry .card.ctaCall h3 { display:flex; gap:20rem; }
section.footerInquiry .card.ctaCall h3 img { width:60rem; }
section.footerInquiry .card.ctaCall div { line-height:1.2em; }
@media (max-width:780px) {
	section.footerInquiry .card { height:100rem; }
	section.footerInquiry .card.ctaLine figure.QR { display:none; }
	section.footerInquiry .card.ctaCall h3 img { display:none; }
}


/*	FOOTER：リクルート
--------------------------------------------------------*/
section.footerRecruit {  }
section.footerRecruit .bg { position:absolute; right:0; top:0; width:calc(50% + 120rem); height:100%; background-position:center center; background-size:cover; clip-path:polygon(100rem 0, 100% 0, 100% 100%, 0 100%); }
section.footerRecruit .detail { width:400rem; }
section.footerRecruit .noirButton { width:100%; }
section.footerRecruit .sectionTitle { color:white !important; }
@media (max-width:780px) {
	section.footerRecruit .bg { right:auto; top:auto; left:0; bottom:0; width:100%; height:310rem; clip-path:polygon(0 40rem, 100% 0, 100% 100%, 0 100%); }
	section.footerRecruit .detail { width:100%; padding-bottom:280rem; }
}

/***********************************************************

	サイド

***********************************************************/
section.sideCard { border-radius:16rem; background:white; padding:0; }
section.sideCard.popular a,
section.sideCard.categories a { display:flex; justify-content:flex-start; padding:0 20rem; height:60rem; border-top:1rem solid #ccc }
section.sideCard.categories a:first-child { border:none; }
section.sideCard.popular a { height:80rem; gap:10rem; display:grid; grid-template-columns:28rem 1fr 72rem; }
section.sideCard.popular .rank { display:flex; width:100%; aspect-ratio:1 / 1; border-radius:4rem; background:var(--green); font-weight:500; color:white; }
section.sideCard.popular p { font-size:14rem; line-height:1.5em; }
section.sideCard.popular .thumb { width:100%; aspect-ratio:3 / 2; border-radius:6rem; overflow:hidden; }
section.sideCard.cta .container { padding:0 20rem; display:flex; flex-direction:column; gap:10rem; padding-bottom:20rem; }
section.sideCard.cta a { display:flex; width:100%; height:60rem; gap:6rem; line-height:1; }
section.sideCard.cta a.ctaLine figure{ width:24rem; }
section.sideCard.cta a.ctaEmail figure{ width:24rem; }
section.sideCard.cta a.ctaCall { flex-direction:column; }
section.sideCard .sideCardTitle { padding:10rem 20rem; }


/***********************************************************

	HOME

***********************************************************/

#home main { padding-top:0 !important; }
#home .eyebrow { color:#0f7a4d; }
@media (max-width:780px) {
}


footer { padding-top:0; }
@media (max-width:780px) {
	footer .footerContainer { padding-bottom:60rem; }
	#recruit footer .footerContainer { padding-bottom:0; }
}

/*	Forst View
--------------------------------------------------------*/
#home section.firstView { display:flex; text-align:left; color:white; padding-top:var(--header-height-pc); padding-bottom:0; }
#home section.firstView::after { content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:#00000060; }
#home section.firstView .contentBox { margin-right:auto; padding-left:5vw; z-index:1; }
#home section.firstView .contentBox .copy { font-size:5vw; line-height:1.3; }
#home section.firstView .contentBox .sub { font-size:1.5vw; line-height:1.8; letter-spacing:0.05em; font-weight:500; margin-top:3vw; }
#home section.firstView .contentBox .noirButtons { margin-top:3vw; justify-content:flex-start; }
#home section.firstView .recruitBox { display:flex; flex-direction:column; gap:20rem; margin-left:auto; margin-right:40rem; color:white; border-radius:16rem; overflow:hidden; z-index:1; }
#home section.firstView .recruitBox .title { text-align:center; padding:32rem 32rem 0; }
#home section.firstView .recruitBox .title .eyebrow { display:inline-block; padding:0 12rem; background:white; color:var(--text-color); border-radius:4rem; opacity:1; }
#home section.firstView .recruitBox .title h2 { font-size:24rem; line-height:1.2; font-weight:normal; }
#home section.firstView .recruitBox .title h2 span { font-size:50rem; font-weight:bold; }
#home section.firstView .recruitBox ul { width:100%; padding:0 32rem; }
#home section.firstView .recruitBox li::before { content:'✓'; font-size:15rem; color:black; font-weight:bold; display:inline-flex; width:20rem; height:20rem; border-radius:50%; background:linear-gradient(45deg, #eab000, #feca00); margin-right:0.5em; }
#home section.firstView .recruitBox .link { padding:140rem 32rem 32rem; width:100%; }
@media (max-width:780px) {
	#home section.firstView { display:block; padding-top:var(--header-height); padding-bottom:0; }
	#home section.firstView .contentBox { margin-right:0; padding:40rem 32rem; }
	#home section.firstView .contentBox .ctaBox { text-align:center; }
	#home section.firstView .contentBox .ctaBox .ctaCall { font-size:var(--font-size-LLL); }
	#home section.firstView .contentBox .copy { font-size:40rem; line-height:1.3; }
	#home section.firstView .contentBox .sub { font-size:16rem; line-height:1.8; letter-spacing:0.05em; margin-top:2em; }
	#home section.firstView .contentBox .noirButtons { margin-top:60rem; justify-content:flex-start; }
	#home section.firstView .contentBox .noirButton { width:90%; }
	#home section.firstView .recruitBox {  display:none; }
}


/*	私たちの仕事は、「処分」ではなく「解決」です。
--------------------------------------------------------*/
#home section.whatWeDo > .gridLayout { grid-template-columns:320rem 1fr; }
#home section.whatWeDo .index .button { margin-top:20rem; }
#home section.whatWeDo .cards { text-align:center; color:white; padding-left:40rem; }
#home section.whatWeDo .cards > * { border:1rem solid #ccc; border-radius:4rem; display:flex; align-items:flex-end; }
#home section.whatWeDo .cards > * p { display:flex; height:60rem; background:#00000080; font-size:20rem; width:100%; }
@media (max-width:780px) {
	#home section.whatWeDo > .gridLayout { display:block; }
	#home section.whatWeDo .cards { padding-left:0; margin-top:20rem; }
	#home section.whatWeDo .cards > * p { height:32rem; font-size:15rem; }
}


/*	なぜ信太商店が選ばれるのか
--------------------------------------------------------*/
#home section.whyShida .types .cards > *  { padding:0 20rem; border-left:1rem solid #ffffff40; }
#home section.whyShida .types .cards .copy { letter-spacing:0.075em; color:#e2c36a; }
#home section.whyShida .partner .copy { text-align:center; }
#home section.whyShida .partner .cards > * { display:flex; background:white; color:var(--text-color); text-align:center; font-size:0.9em; line-height:1.5; font-weight:500; border-radius:4rem; overflow:hidden; }
@media (max-width:780px) {
	#home section.whyShida .types .cards > *  { padding:10rem 20rem; border-left:none; }
	#home section.whyShida .types .cards > * + *  { border-top:1rem solid #ffffff40; }
	#home section.whyShida .types .cards .copy { font-size:20rem; }
}


/*	解決事例
--------------------------------------------------------*/
#home section.achievements .card { border-radius:12rem; overflow:hidden; border:1rem solid #ccc; }
#home section.achievements .card .overview { padding:.75em; border-radius:12rem; margin-top:-12rem; background:white; }
#home section.achievements .card .case { color:#0f7a4d; font-weight:500; }
@media (max-width:780px) {
	#home section.achievements .gridLayoutSp { grid-template-columns:120rem 1fr; }
	#home section.achievements .card .overview { padding:0.5em 1em; border-radius:12rem; margin-top:0; border-radius:0; }
}


/*	産廃豆知識
--------------------------------------------------------*/
#home section.knowledge .contentWrapper { grid-template-columns:200rem 1fr; }
#home section.knowledge .knowledgeMore { justify-content: flex-start; }
#home section.knowledge .knowledgeMore .noirButton { width: 100%; min-width: 0; padding-left: 12rem; padding-right: 28rem; font-size: 14rem; }
#home section.knowledge .thumb figure::after { content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:linear-gradient(rgba(11,43,69,.28), rgba(11,43,69,.28)), linear-gradient(rgba(21,148,71,.12), rgba(21,148,71,.12)); }
#home section.knowledge .thumb p { display:flex; height:32rem; border-radius:16rem; position:absolute; left:50%; bottom:20rem; transform:translateX(-50%); padding:0 1.5em; background:#f8d368; color:black; font-weight:bold; white-space:nowrap; }
@media (max-width:780px) {
	#home section.knowledge .contentWrapper { grid-template-columns:1fr; }
	#home section.knowledge .cards > * { grid-template-columns:120rem 1fr; }
	#home section.knowledge h3 { grid-column:span 2; padding-bottom:12rem; }
	#home section.knowledge .cards > * + * h3 { margin-top:20rem; padding-top:20rem; border-top:1rem solid #ffffff50; }
	#home section.knowledge .thumb p { display:flex; bottom:10rem; width:calc(100% - 12rem); height:24rem; border-radius:12rem; padding:0; font-size:12rem; }
	#home section.knowledge .cards > * > .sub { padding-left:20rem; }
}


/*	お知らせ
--------------------------------------------------------*/
#home section.news .indexGrid { grid-template-columns:100rem 1fr; }
#home section.news > .noirButtons { margin-top:32rem; }
#home section.news dl + dl { margin-top:10rem; padding-top:10rem; border-top:1rem solid #ccc;}
#home section.news dt { line-height:28rem; vertical-align:baseline; }
#home section.news dd {  }
@media (max-width:780px) {
	#home section.news .indexGrid { display:block; }
	#home section.news dt { font-size:14rem; line-height:1.5em; }
	#home section.news dd { font-size:15rem; }
}



.hasSidebar { grid-template-columns:1fr 320rem; }

/*==========================================================

	ブログ

===========================================================*/
#blog.wp-singular .hero { aspect-ratio:1920 / 520; padding:0; padding-left:100rem;}
#blog.wp-singular .hero .badge { height:40rem; border-radius:999rem; background:#0f7a4d; color:white; font-weight:500; padding:0 1.5em; display:flex; }
#blog.wp-singular .hero .postTitle {  }
#blog.wp-singular .main { grid-template-columns:1fr 320rem; }
#blog.wp-singular .wpPost { padding-top:0; background:#f6f6f6; }
#blog.wp-singular .wpPost .postContent { background:white; border-radius:16rem; padding:40rem; }

/*==========================================================

	信太商店について

===========================================================*/
#about .sectionTitle { font-size:46rem; color:var(--navy); margin-bottom:10rem; }
#about .sectionTitle.small { font-size:32rem; }
@media (max-width:780px) {
	#about .sectionTitle { font-size:24rem; margin-bottom:10rem; }
	#about .sectionTitle.small { font-size:24rem; }
}

/* まちをきれいに、これからも。 */
#about section.mind { background:linear-gradient(110deg,#f7fcff,#e6f6ff); }
@media (max-width:780px) {
	#about section.mind .mindHead { text-align:center; }
}
/* 信太商店の4つの特徴 */
#about section.features article { display:grid; grid-template-columns:1.2fr 1fr; align-items:stretch; background:white; }
#about section.features article + article { margin-top:40rem; }
#about section.features article:nth-child(even) { grid-template-columns:1fr 1.2fr; }
#about section.features .featureImage { position:relative; overflow:hidden; margin:0; width:100%; min-height:280rem; }
#about section.features .featureImage img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
#about section.features article .detail { display:grid; grid-template-columns:150rem 1fr; align-items:stretch; }
#about section.features article .detail .featureNo { background:#f3f9fe; color:#8fc7f2; padding:26rem; padding-right:0; }
#about section.features article .detail .featureNo i { font-size:52rem; font-weight:800; display:block; }
#about section.features article .detail .featureNo span { position:relative; font-size:12rem; padding-top:20rem; display:block; color:var(--blue); font-weight:bold; }
#about section.features article .detail .featureNo span::before { content:''; position:absolute; left:0; top:0; width:40rem; height:2rem; background:var(--blue); }
#about section.features article .detail .featureCopy { padding:42rem; padding-left:0; background:linear-gradient(to left, transparent, #f3f9fe); }
#about section.features article .detail .featureCopy h3 { font-size:24rem; color:var(--deep); margin-bottom:16rem; }
@media (max-width:780px) {
	#about section.features article { display:flex; flex-direction:column; }
	#about section.features article:nth-child(even) { flex-direction:column-reverse; }
	#about section.features .featureImage { min-height:0; aspect-ratio:16 / 9; }
	#about section.features article + article { margin-top:20rem; }
	#about section.features article .detail { display:grid; grid-template-columns:100rem 1fr; align-items:stretch; }
	#about section.features article .detail .featureNo { background:#f3f9fe; color:#8fc7f2; padding:12rem; padding-right:0; }
	#about section.features article .detail .featureNo i { font-size:32rem; }
	#about section.features article .detail .featureCopy { padding:12rem; padding-left:0; }
	#about section.features article .detail .featureNo span { font-size:11rem; padding-top:12rem; }
	#about section.features article .detail .featureCopy h3 { font-size:18rem; margin-bottom:12rem; }
}
/* 官公庁・研究機関・大手企業との取引実績 */
#about section.trust {  }
#about section.trust .trustHead { text-align:left; }
#about section.trust .trustHead .outlineBtn { position:absolute; right:0; bottom:0; display:inline-flex; gap:30px; background:var(--blue); color:white; padding:15rem 28rem; border-radius:3px; font-weight:700; }
#about section.trust .clientGrid .client { background:#f0f7fd; text-align:center; padding:22rem 8rem; font-weight:700; font-size:18rem; }
#about section.trust .clientGrid .client small { font-weight:normal; }
#about section.trust .clientGrid .clientIcon { font-size:52rem; color:var(--blue); display:block; margin-bottom:4rem; }
@media (max-width:780px) {
	#about section.trust .trustHead .outlineBtn { position:relative; right:auto; bottom:auto;gap:30px; padding:15rem 28rem; width:100%; margin-top:20rem; }
	#about section.trust .clientGrid .client { padding:12rem 4rem; font-size:16rem; }
	#about section.trust .clientGrid .clientIcon { font-size:32rem; margin-bottom:4rem; }
}
/* 信太商店について、もう少し知る */
#about section.aboutLinks { background:linear-gradient(110deg,#f7fcff,#e6f6ff); color:var(-navy); }
#about section.aboutLinks .aboutLinksHead { text-align:center; }
#about section.aboutLinks .aboutLinkGrid { text-align:left; }
#about section.aboutLinks .aboutLink { padding:32rem 28rem 24rem; border:1rem solid var(--border-line); border-radius:6rem; background:#fff; color:var(--navy); transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; display:flex; flex-direction:column; }
#about section.aboutLinks .aboutLink .title { display:flex; justify-content:flex-start; gap:20rem; width:100%; }
#about section.aboutLinks .aboutLink .title::before { /* アイコン */
	content:''; display:block; flex-shrink:0; width:56rem; height:56rem; border-radius:50%; background-color:#eaf4fb;
	background-position:center; background-size:28rem 28rem; background-repeat:no-repeat;
}
#about section.aboutLinks .aboutLink[href="/office/"]  .title::before {
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23096cb2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='1'/%3E%3Cpath d='M9 21v-4h6v4M9 7h1m4 0h1M9 11h1m4 0h1'/%3E%3C/svg%3E");
}
#about section.aboutLinks .aboutLink[href="/results/"]  .title::before {
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23096cb2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 4h13v13H1zM14 8h4l4 5v4h-8'/%3E%3Ccircle cx='5.5' cy='18' r='2.5'/%3E%3Ccircle cx='18.5' cy='18' r='2.5'/%3E%3C/svg%3E");
}
#about section.aboutLinks .aboutLink[href="/flow/"]  .title::before {
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23096cb2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='5' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cpath d='M9 5h8a4 4 0 0 1 0 8H7a3 3 0 0 0 0 6h8'/%3E%3C/svg%3E");
}
#about section.aboutLinks .aboutLink span { display:block; margin-bottom:6rem; color:var(--blue); font-size:12rem; font-weight:700; line-height:1.5; letter-spacing:.12em; }
#about section.aboutLinks .aboutLink strong { display:block; font-size:22rem; font-weight:700; line-height:1.6; }
#about section.aboutLinks .aboutLink .description { width:100%; padding:12rem 0; font-size:15rem; line-height:1.9; }
#about section.aboutLinks .aboutLink .footer { width:100%; padding-top:20rem; margin-top:auto; border-top:1rem solid var(--border-line); font-size:13rem; font-weight:700; line-height:1.6; }
#about section.aboutLinks .aboutLink .footer::after {
	content:''; width:34rem; height:34rem; border-radius:50%; transition:transform .2s ease;
	background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / 18rem no-repeat;
}
#about section.aboutLinks .aboutLink:has(.footer)::after { display:none; }
#about section.aboutLinks .aboutLink:focus-visible { outline:3rem solid var(--blue); outline-offset:4rem; }
@media (max-width:780px) {
	#about section.aboutLinks .aboutLinksHead .sectionLead { text-align:left; }
	#about section.aboutLinks .aboutLink { padding:12rem; }
	#about section.aboutLinks .aboutLink .title { margin-bottom:0; }
	#about section.aboutLinks .aboutLink .description { width:100%; }
	#about section.aboutLinks .aboutLink .footer { width:100%; padding-top:12rem; font-size:15rem; }
}
@media (hover:hover) and (pointer:fine) {
	#about section.aboutLinks .aboutLink:hover { transform:translateY(-4px); border-color:var(--blue); box-shadow:0 12px 28px rgba(5, 44, 86, .08); opacity:1; }
	#about section.aboutLinks .aboutLink:hover .footer::after { transform:translateX(3px); }
}
@media (prefers-reduced-motion:reduce) {
	#about section.aboutLinks .aboutLink,
	#about section.aboutLinks .aboutLink .footer::after { transition:none; }
	#about section.aboutLinks .aboutLink:hover,
	#about section.aboutLinks .aboutLink:hover .footer::after { transform:none; }
}

/*==========================================================

	採用情報

===========================================================*/
#recruit { line-height:1.8; background:var(--recruit-bg-color); }
#recruit .button.white { color:var(--recruit-text-color); }
#recruit .blackShadow { box-shadow:0 10rem 26rem rgba(0,0,0,.18); }
#recruit .blueShadow { box-shadow:0 10rem 26rem rgba(63,115,171,.18); }

#recruit section { padding:80rem 0; text-align:left; color:var(--recruit-text-color); }
#recruit section h2 { font-size:48rem; line-height:1.25; letter-spacing:-.01em; font-weight:700; }
#recruit section .kicker { font-size:15rem; letter-spacing:0.12em; font-weight:bold; margin-bottom:0.5em; }
#recruit section.center { text-align:center; }
#recruit section.blueBack { background:var(--recruit-blue-color); color:white; }
#recruit section.whiteBack { background:white; }
@media (max-width:780px) {
	#recruit section { padding:40rem 12rem 60rem; }
	#recruit section h2 { font-size:27rem; line-height:1.5; }
}

#recruit section.fv { position:relative; display:grid; place-items:center; color:white; }
#recruit section.fv::after { content:""; position:absolute; inset:auto 0 0 0; height:150rem; background:linear-gradient(to bottom in oklch, transparent, var(--recruit-bg-color)); }
#recruit section.fv h1 { margin:0 0 24rem; font-size:80rem; line-height:1.3; letter-spacing:-.04em; font-weight:700; width:1160rem; }
#recruit section.fv .container { padding-bottom:140rem; text-align:center; }
#recruit section.fv .eyebrow { display:inline-block; padding:4rem 16rem; border:1rem solid #ffffff84; border-radius:6rem; letter-spacing:.08em; margin-bottom:26rem; background:#ffffff23; color:white; }
#recruit section.fv .copy { font-size:28rem; font-weight:700; margin-bottom:22rem; }
#recruit section.fv .sub { font-size:17rem; margin-bottom:36rem; }
#recruit section.fv .badges { display:flex; flex-wrap:wrap; gap:10rem; margin-top:32rem; }
#recruit section.fv .badges > * { background:#ffffff23; padding:4rem 16rem; border-radius:6rem; font-weight:700; border:1rem solid #ffffff38; }
#recruit section.fv .buttons { margin-top:60rem; }
@media (max-width:780px) {
	#recruit section.fv::after { height:80rem; }
	#recruit section.fv h1 { margin:0 0 24rem; font-size:36rem; line-height:1.4; width:auto; }
	#recruit section.fv .container { padding-bottom:60rem; }
	#recruit section.fv .copy { font-size:20rem; margin-bottom:22rem; }
	#recruit section.fv .badges > * { padding:2rem 8rem; border-radius:4rem; }
	#recruit section.fv .buttons { margin-top:40rem; }
}

#recruit section.works .photo { border-radius:12rem; overflow:hidden; }
@media (max-width:780px) {
	#recruit section.works .gridLayout { grid-template-columns:1fr; gap:20rem; }
}

#recruit section.cases .cardGrid { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:18rem; }
#recruit section.cases .cardGrid .card { display:flex; align-items:flex-end; aspect-ratio:3 / 4; background-position:center; background-size:cover; border-radius:24rem; overflow:hidden; }
#recruit section.cases .cardGrid .card::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 25%, rgba(0,0,0,.78)); }
#recruit section.cases .cardGrid .card .text { color:white; padding:0 20rem 20rem; z-index:2; }
#recruit section.cases .cardGrid .card .text h3 { font-size:24rem; font-weight:500; }
#recruit section.cases .cardGrid .card .text p { font-size:14rem; opacity:0.9; }
@media (max-width:780px) {
	#recruit section.cases .cardGrid { grid-template-columns:1fr 1fr; gap:10rem; }
}

#recruit section.uniquework .gridLayout { grid-template-columns:520rem 1fr; gap:40rem; }
#recruit section.uniquework .listBox > * { padding:18rem 20rem; border:1rem solid #d9e6f2; border-radius:6rem; background:white; color:var(--recruit-text-color); }
#recruit section.uniquework .listBox > * + * { margin-top:1em; }
#recruit section.uniquework .listBox > *.pickup { border-color:#d9e6f2; background:#f4f8fc; }
#recruit section.uniquework .listBox > * strong { font-size:17rem; line-height:1.6; margin-bottom:0.5em; }
@media (max-width:780px) {
	#recruit section.uniquework .gridLayout { grid-template-columns:1fr; gap:20rem; }
}

#recruit section.fit .cardGrid  { display:grid; grid-template-columns:1fr 1fr; gap:20rem; color:#333; }
#recruit section.fit .cardGrid > * { padding:24rem; border-radius:6rem; background:white; border-top:5rem solid var(--recruit-color); }
#recruit section.fit .cardGrid > * h3 { font-size:18rem; margin-bottom:0.75em; }
#recruit section.fit .checkList  { display:grid; grid-template-columns:1fr 1fr; gap:20rem; margin-top:32rem; color:#333; }
#recruit section.fit .checkList > * { padding:12rem 14rem; border-radius:6rem; background:white; border:1rem solid #d9e6f2; }
#recruit section.fit .checkList > *::before { content:'\2713'; color:var(--primary); margin-right:8rem; font-weight:900; }
@media (max-width:780px) {
	#recruit section.fit .cardGrid  { grid-template-columns:1fr; gap:10rem; font-size:15rem; }
	#recruit section.fit .cardGrid > * { padding:16rem; border-top-width:4rem; }
	#recruit section.fit .checkList  { grid-template-columns:1fr; gap:10rem; margin-top:20rem; }
}

#recruit section.beginner .gridLayout { display:grid; grid-template-columns:1fr 1fr; gap:40rem; align-items:flex-start; }
#recruit section.beginner .photo { border-radius:24rem; overflow:hidden; }
@media (max-width:780px) {
	#recruit section.beginner .gridLayout { display:flex; flex-direction:column-reverse; gap:10rem; }
	#recruit section.beginner .gridLayout .sectionTitle { margin-bottom:0; }
}

#recruit section.flow .gridLayout { display:grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr; gap:12rem; align-items:stretch; }
#recruit section.flow .gridLayout > * { padding:20rem; border-radius:6rem; background:white; border-top:5rem solid var(--recruit-color); }
#recruit section.flow .gridLayout > * span { display:block; font-size:20rem; font-weight:500; }
#recruit section.flow .gridLayout > * h3 { color:#333; }
#recruit section.flow .gridLayout > * p { margin-top:20rem; color:#333; }
@media (max-width:780px) {
	#recruit section.flow .gridLayout { grid-template-columns:1fr; gap:10rem; }
	#recruit section.flow .gridLayout > * { padding:12rem 16rem; }
	#recruit section.flow .gridLayout > * > *:first-child { display:flex; justify-content:flex-start; gap:16rem; }
	#recruit section.flow .gridLayout > * p { margin-top:10rem; font-size:15rem; }
}

#recruit section.reqruitments table { width:100%; background:#fff; border-radius:6rem; overflow:hidden; box-shadow:0 4rem 14rem rgba(0,0,0,.08); line-height:1.8; }
#recruit section.reqruitments table tr { border-bottom:1rem solid #d9e6f2; }
#recruit section.reqruitments table th,
#recruit section.reqruitments table td { padding:15rem 18rem; text-align:left; vertical-align:top; }
#recruit section.reqruitments table th { width:28%; background:var(--recruit-bg-color); color:var(--recruit-color); }
#recruit section.reqruitments table td { color:#333; }
@media (max-width:780px) {
	#recruit section.reqruitments table { line-height:1.6; font-size:15rem; }
	#recruit section.reqruitments table th { width:32%; }
}

#recruit section.entry .comment { max-width:none; }

#recruit-form .job { font-size:20rem; text-align:center; margin-bottom:20rem; }


/*==========================================================

	ご利用までの流れ

===========================================================*/
#flow { background:white; }
/* まずは、ご相談から */
#flow section.flow { padding-top:0; }
#flow section.flow .flowStep { display:grid; grid-template-columns:94rem 1fr; gap:28rem; position:relative; scroll-margin-top:20rem; }
#flow section.flow .flowStep:not(:last-child):before { content:''; position:absolute; top:76rem; bottom:0; left:46rem; border-left:1rem solid #b8d5e9; }
#flow section.flow .stepNo { position:relative; text-align:center; padding-top:5rem; color:var(--blue); }
#flow section.flow .stepNo span { display:block; font-size:11rem; font-weight:700; letter-spacing:.13em; }
#flow section.flow .stepNo b { font-size:48rem; font-weight:500; line-height:1.1; display:block; }
#flow section.flow .stepCard { display:grid; grid-template-columns:minmax(0,1fr) 230rem; align-items:center; gap:30rem; border: 1rem solid var(--border-line); border-radius: 6rem; padding: 34rem 38rem; }
#flow section.flow .stepIllustration { width:100%; margin:0; }
#flow section.flow .stepIllustration img { display:block; width:100%; height:auto; border-radius:12rem; }
#flow section.flow #step1 .stepCard { gap:16rem 30rem; }
#flow section.flow #step1 .stepCopy { display:contents; }
#flow section.flow #step1 .stepCopy > :is(h3,p) { grid-column:1; margin:0; }
#flow section.flow #step1 .stepIllustration { grid-column:2; grid-row:1 / span 4; width:230rem; }
#flow section.flow #step1 .stepCopy > .ctaBox { grid-column:1 / -1; }
#flow section.flow .stepCard .stepIcon { display:flex; color:var(--blue); width:68rem;height:68rem; padding:15rem; background:#edf7fc; border-radius:50%; }
#flow section.flow .stepCard .stepIcon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
#flow section.flow .stepCard .stepCopy { color: var(--navy); font-size: 15rem; line-height: 1.9; list-style: none; box-sizing: border-box; grid-column: 1; grid-row: 1; }
#flow section.flow .stepCard .stepCopy > p + p { margin-top:0.75em; }
#flow section.flow .stepCard h3 { font-size: 24rem; line-height: 1.5; margin: 0 0 14rem; }
#flow section.flow .stepCard .stepBadge { display:block; width:fit-content; background: #edf7fc; color: var(--blue); font-size: 12rem; font-weight: 700; padding: 3rem 12rem; margin-bottom: 13rem; border-radius: 2rem; }
#flow section.flow .stepHeading { display:flex; align-items:center; justify-content:flex-start; gap:12rem; margin-bottom:14rem; }
#flow section.flow .stepHeading .stepBadge { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; margin:0; line-height:1.5; white-space:nowrap; transform:translateY(2rem); }
#flow section.flow .stepHeading h3 { flex:1; min-width:0; margin:0; }
#flow section.flow .stepCard .stepCopy .stepNote { font-size: 13rem; color: #50697d; background: #edf7fc; border-left: 3rem solid #76b3d9; padding: 12rem 16rem; margin-top:24rem; }
#flow section.flow .flowMessage { background:#edf7fc; padding:22rem 32rem; display:flex; gap:18rem; align-items:center; justify-content:center; }
#flow section.flow .flowMessage strong { font-size:18rem; }
#flow section.flow .flowMessage p { font-size:14rem; margin:0; color:#496071; }
@media (max-width:780px) {
	#flow section.flow .flowStep { grid-template-columns:38rem 1fr; gap:12rem; padding-bottom:22rem; }
	#flow section.flow .flowStep:not(:last-child):before { left:18rem; top:54rem; }
	#flow section.flow .stepNo b { font-size:30rem; }
	#flow section.flow .stepNo span { font-size:8rem; }
	#flow section.flow .stepCard { display:block; padding: 22rem 18rem; }
	#flow section.flow .stepHeading { gap:8rem; }
	#flow section.flow .stepHeading h3 { font-size:20rem; }
	#flow section.flow #step1 .stepCopy { display:block; }
	#flow section.flow #step1 .stepCopy > h3 { margin-bottom:14rem; }
	#flow section.flow #step1 .stepCopy > p + p { margin-top:.75em; }
	#flow section.flow #step1 .stepCopy > .stepNote { margin-top:24rem; }
	#flow section.flow .stepIllustration, #flow section.flow #step1 .stepIllustration { width:100%; max-width:240rem; margin:20rem auto 0; }
	#flow section.flow .stepCard .stepCopy > p { line-height:1.6; }
	#flow section.flow .stepCard .stepIcon { display:none; }
	#flow section.flow .flowMessage { display:block; }
	#flow section.flow .flowMessage strong { display:block; margin-bottom:12rem; text-align:center; }
	
}


/*==========================================================

	会社概要

===========================================================*/
#office  { background:#f7f9fb; }
#office .sectionTitle { font-size:38rem; color:var(--navy); margin-bottom:0; }
#office .sectionTitle + * { margin-top:16rem; }
#office .sectionSplit { display:grid; grid-template-columns:290rem 1fr; gap:60rem; }
@media (max-width:780px) {
	#office .sectionHead .eyebrow { text-align:center; }
	#office .sectionTitle { font-size:28rem; text-align:center; }
	#office .sectionTitle + * { margin-top:16rem; }
	#office .sectionSplit { display:block; }
	#office .sectionLead { display:flex; }
}
#office .officeMessage { background: linear-gradient(110deg, #f7fcff, #e6f6ff); }
#office .officeMessage .sectionSplit { grid-template-columns:1fr 280rem; gap:80rem; }
#office .officeMessage .messageTitle { font-size:24rem; }
#office .officeMessage p { line-height:1.8em; }
#office .officeMessage p + p { margin-top:0.75em; }
#office .officeMessage figcaption { margin-top:20rem; }
#office .officeMessage figcaption > * { display:block; }
#office .officeMessage figcaption > * + * { margin-top:12rem; }
#office .officeMessage figcaption strong { font-size:28rem; letter-spacing:0.1em; }
#office .officeMessage figcaption span { color:var(--blue); font-size:14rem; font-weight:500; }
@media (max-width:780px) {
	#office .officeMessage .messageTitle { font-size:18rem; margin-top:12rem; text-align:center; }
	#office .officeMessage p { line-height:1.6em; }
	#office .officeMessage .presidentPhoto { display:grid; grid-template-columns:1fr 120rem; gap:20rem; margin-top:20rem; align-items:flex-end; }
	#office .officeMessage figcaption { margin-top:10rem; }
	#office .officeMessage figcaption > * + * { margin-top:6rem; }
	#office .officeMessage figcaption strong { font-size:24rem; }
}
#office .officeProfile .profileList { border-top: 2rem solid var(--deep); }
#office .officeProfile .profileRow { display: grid; grid-template-columns: 170rem 1fr; align-items: stretch; border-bottom: 1rem solid var(--border-line); line-height: 1.9; letter-spacing:0.05em; }
#office .officeProfile .profileRow dt { display: flex; align-items: center; justify-content: flex-start; align-self: stretch; font-weight: 700; padding: 24rem 16rem; background: #f4f8fb; }
#office .officeProfile .profileRow dd { padding: 24rem 26rem; overflow-wrap: anywhere; }
#office .officeProfile .profileRow a { color: var(--deep); text-decoration: underline; text-underline-offset: 4rem; }
#office .officeProfile .profileEmail { display: inline-flex; align-items: center; justify-content: flex-start; gap: 8rem; }
#office .officeProfile .profileEmail img { width: 20rem; height: 20rem; flex-shrink: 0; }
@media (max-width:780px) {
	#office .officeProfile .profileList { margin-top:20rem; }
	#office .officeProfile .profileRow { grid-template-columns:100rem 1fr; line-height: 1.7; letter-spacing:0.025em; }
	#office .officeProfile .profileRow dt { font-weight: 500; padding: 12rem 8rem; font-size:14rem; }
	#office .officeProfile .profileRow dd { padding: 12rem 12rem; overflow-wrap: anywhere; font-size:14rem; }
}
#office .officeClients .sectionSplit { grid-template-columns:290rem 1fr; gap:60rem; }
#office .officeClients .clientsText { line-height: 2; }
#office .officeClients .clientsText h3 { font-size: 16rem; color: var(--deep); margin-bottom:12rem; border-left: 3rem solid var(--blue); padding-left: 14rem; }
#office .officeClients .clientsText p + h3,
#office .officeClients .clientsText p + p { margin-top: 24rem; }
@media (max-width:780px) {
	#office .officeClients .clientsText { line-height:1.7; margin-top:24rem; }
	#office .officeClients .clientsText p + p { margin-top:12rem; }
}
#office .officePermits .permitGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24rem; align-items: start; }
#office .officePermits .permitStack { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: stretch; align-items: start; gap: 24rem; width: 100%; min-width: 0; }
#office .officePermits .permitGroup { width: 100%; min-width: 0; border: 1rem solid var(--border-line); background: #fff; padding: 28rem; }
#office .officePermits .permitGroup h3 { font-size: 19rem; color: var(--deep); border-bottom: 2rem solid var(--blue); padding-bottom: 16rem; margin-bottom: 4rem; }
#office .officePermits .permitList > div { padding: 14rem 0; border-bottom: 1rem solid #e5edf2; display: flex; align-items: center; justify-content: space-between; gap: 12rem; line-height: 1.7; }
#office .officePermits .permitList > div:last-child { border: 0; padding-bottom: 0; }
#office .officePermits .permitList a { white-space: nowrap; font-size: 12rem; color: var(--blue); background: #edf6fc; padding: 5rem 8rem; border-radius: 3rem; }
#office .officePermits .permitList a:hover { background: #dcecf8; }
#office .officePermits .qualification { grid-column: 1/-1; }
#office .officePermits .qualification .permitList { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40rem; }
@media (max-width:780px) {
	#office .officePermits .permitGrid { display:block; margin-top:20rem; }
	#office .officePermits .permitGrid > * + * { margin-top:12rem; }
	#office .officePermits .permitStack { display:block; }
	#office .officePermits .permitStack > * + * { margin-top:12rem; }
	#office .officePermits .permitGroup { padding: 12rem; }
	#office .officePermits .permitGroup h3 { font-size: 16rem; padding-bottom: 8rem; margin-bottom:2rem; }
	#office .officePermits .permitList > div { padding: 12rem 0; line-height: 1.7; font-size:14rem; }
	#office .officePermits .qualification .permitList { display:block; }
}
#office .officeVehicles .sectionHead .summary { position: absolute; right: 0; bottom: 0; display: flex; align-items:flex-end; gap: 20rem; color: var(--deep); font-size: 22rem; }
#office .officeVehicles .sectionHead .summary b { font-size: 58rem; line-height: 1; letter-spacing: 0; }
#office .officeVehicles .vehicleGrid figcaption { margin-top:10rem; text-align:center; font-weight:bold; font-size:15rem; }
#office .officeVehicles .vehicleGrid figcaption span { margin-left:0.75em;  font-size:13rem; font-weight:normal; }
#office .officeVehicles .vehicleGrid figcaption span::before { content:'/ '; }
@media (max-width:780px) {
	#office .officeVehicles .sectionHead .summary { position:relative; right:auto; bottom:auto; font-size: 16rem; margin-top:12rem; }
	#office .officeVehicles .sectionHead .summary b { font-size:32rem; }
	#office .officeVehicles .vehicleGrid figure { grid-template-columns:120rem 1fr; }
	#office .officeVehicles .vehicleGrid figcaption { margin-top:0; text-align:left;  display:flex; padding-left:20rem; justify-content:flex-start; }
}
#office .officeAccess h3 { font-size: 24rem; color: var(--deep); margin-bottom: 20rem; }
#office .officeAccess p { line-height: 2; }
#office .officeAccess .outlineBtn { border: 1rem solid var(--deep); display: inline-flex; justify-content: space-between; gap: 50rem; padding: 16rem 22rem; color: var(--deep); font-weight: 700; margin-top: 24rem; font-size: 14rem; }
#office .officeAccess .outlineBtn:hover { background: var(--deep); color: white; }
#office .officeAccess .accessContact { margin-top: 30rem; padding-top: 20rem; border-top: 1rem solid var(--border-line); font-size: 14rem; }
@media (max-width:780px) {
	#office .officeAccess h3 { font-size:18rem; margin:12rem 0; }
	#office .officeAccess p { line-height:1.7; }
	#office .officeAccess .outlineBtn { justify-content:center; margin-top:12rem; font-size: 14rem; width:100%; gap:20rem; }
	#office .officeAccess .accessContact { margin-top:24rem; padding-top:20rem; font-size: 15rem; text-align:center; }
}
#office .officeRelated .relatedGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 24rem; margin-top:32rem; }
#office .officeRelated .relatedGrid > a { position: relative; display: flex; align-items: flex-end; justify-content: flex-start; min-height: 290rem; padding: 28rem; border-radius: 5rem; overflow: hidden; background: #0b2948; color: white; text-align: left; }
#office .officeRelated .relatedGrid > a::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3, 22, 39, .04) 15%, rgba(3, 22, 39, .45) 50%, rgba(3, 22, 39, .92) 100%); pointer-events: none; }
#office .officeRelated .relatedGrid figure { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
#office .officeRelated .relatedGrid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
#office .officeRelated .relatedBannerCopy { position: relative; z-index: 1; width: 100%; }
#office .officeRelated .relatedBannerCopy small { display: block; font-size: 13rem; line-height: 1.7; font-weight: 500; color: white; }
#office .officeRelated .relatedBannerCopy h3 { font-size: 25rem; line-height: 1.6; font-weight: 700; margin: 5rem 0 0; color: white; }
#office .officeRelated .relatedBannerMore { display: block; border-top: 1rem solid rgba(255,255,255,.5); padding-top: 12rem; margin-top: 18rem; font-size: 13rem; color: white; }
#office .officeRelated .relatedGrid > a:focus-visible { outline: 3rem solid #397aa9; outline-offset: 4rem; }
@media (hover: hover) {
	#office .officeRelated .relatedGrid > a:hover { opacity: 1; }
	#office .officeRelated .relatedGrid > a:hover img { transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
	#office .officeRelated .relatedGrid img { transition: none; }
	#office .officeRelated .relatedGrid > a:hover img { transform: none; }
}
@media (max-width:780px) {
	#office .officeRelated .relatedGrid { display:flex; flex-direction:column; }
	#office .officeRelated .relatedGrid > a { width:100%; min-height:240rem; padding:22rem; }
	#office .officeRelated .relatedBannerCopy h3 { font-size:22rem; }
}

/*==========================================================

	実績紹介

===========================================================*/
/* 実績紹介・社長ブログの共通デザイン */
/* 共通：既存のnoir.css / content.cssの後に読み込み */
:is(#results, #blog, #news, .knowledgePage) { color: var(--text-color, #0b2948); }
:is(#results, #blog, #news, .knowledgePage) .sectionHead { margin-bottom: 26rem; }
:is(#results, #blog, #news, .knowledgePage) .sectionTitle { color: var(--navy, #052c56); font-size: 32rem; font-weight: 900; line-height: 1.5; letter-spacing: 0.04em; margin: 0; }
:is(#results, #blog, #news, .knowledgePage) .sectionLead { margin-top: 10rem; color: #526a7e; line-height: 1.8; }
:is(#results, #blog, #news, .knowledgePage) .visuallyHidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
:is(#results, #blog, #news, .knowledgePage) [hidden] { display: none !important; }
:is(#results, #blog, #news, .knowledgePage) button:focus-visible, :is(#results, #blog, #news, .knowledgePage) a:focus-visible, :is(#results, #blog, #news, .knowledgePage) input:focus-visible, :is(#results, #blog, #news, .knowledgePage) select:focus-visible { outline: 3rem solid #0874cc; outline-offset: 4rem; }

/* ページ見出し */
:is(#results, #blog, #news, .knowledgePage) .resultsHero { height: 340rem; background: var(--navy); position: relative; isolation: isolate; overflow: hidden; }
@media (min-width:781px) {
 #results section.pageFirstView.resultsHero { height:400rem; }
}
#results .resultsHeroPhotos { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3rem; z-index: -2; pointer-events: none; }
#results .resultsHeroPhotos img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: cover; }
#results .resultsHero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5, 44, 86, 0.94) 0%, rgba(5, 44, 86, 0.82) 36%, rgba(5, 44, 86, 0.3) 70%, rgba(5, 44, 86, 0.18) 100%); pointer-events: none; }
@media (max-width: 780px) {
	#results .resultsHeroPhotos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
	#results .resultsHeroPhotos img:nth-child(-n+2) { display: none; }
	#results .resultsHero::before { background: linear-gradient(90deg, rgba(5, 44, 86, 0.94), rgba(5, 44, 86, 0.65)); }
}
:is(#results, #blog, #news, .knowledgePage) .resultsHero h1 { font-size: 64rem; line-height: 1.4; margin-bottom: 14rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsHero .heroTag { font-size: 24rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsHero .heroText { line-height: 1.9; font-size: 15rem; }

/* 絞り込み */
:is(#results, #blog, #news, .knowledgePage) .resultsSearch { background: linear-gradient(115deg, #f4fbff, #eaf5fc); padding: 48rem 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .caseFilters { background: white; padding: 28rem; border: 1rem solid #d9e5ee; border-radius: 4rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .serviceFilter { border: none; min-width: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .serviceFilter legend { font-size: 14rem; font-weight: 700; margin-bottom: 14rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .serviceButtons { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .serviceButton { display: inline-flex; min-width: 0; width: auto; height: 42rem; padding: 0 17rem; background: white; color: var(--deep); border: 1rem solid #cedce7; border-radius: 4rem; font-size: 14rem; line-height: 1.4; white-space: nowrap; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .serviceButton:hover { background: #edf6fc; border-color: var(--blue); }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .serviceButton.isActive { background: var(--deep); border-color: var(--deep); color: white; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterDetail { display: grid; grid-template-columns: 210rem minmax(0, 1fr) 170rem 100rem; align-items: end; gap: 18rem; margin-top: 24rem; padding-top: 24rem; border-top: 1rem solid #e2eaf0; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterField { min-width: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterField label { display: block; font-size: 13rem; font-weight: 700; margin-bottom: 8rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterField select, :is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterField input { width: 100%; height: 48rem; border: 1rem solid #cbdbe7; background: #fbfdff; color: var(--text-color); border-radius: 3rem; font: inherit; font-size: 14rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterField select { padding: 0 34rem 0 14rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterField input { padding: 0 14rem 0 42rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .keywordInput svg { position: absolute; left: 14rem; top: 15rem; width: 18rem; height: 18rem; stroke: #70899c; stroke-width: 1.8; z-index: 1; pointer-events: none; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterSubmit { display: inline-flex; justify-content: space-between; gap: 14rem; min-width: 0; width: 100%; height: 48rem; padding: 0 16rem; border: none; border-radius: 3rem; background: var(--blue); color: white; font-size: 14rem; font-weight: 700; }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterSubmit:hover { background: var(--deep); }
:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterReset { display: inline-flex; min-width: 0; width: auto; height: 48rem; padding: 0; background: transparent; border: none; color: #5a7386; border-radius: 0; font-size: 12rem; text-decoration: underline; text-underline-offset: 4rem; }

/* 実績一覧 */
#results section.resultsSearch { padding: 22rem 0; }
#results .searchAccordion { border: 1rem solid #d9e5ee; border-radius: 4rem; background: white; }
#results .searchToggle { display: flex; align-items: center; justify-content: space-between; gap: 20rem; padding: 20rem 24rem; color: var(--deep); cursor: pointer; list-style: none; }
#results .searchToggle::-webkit-details-marker { display: none; }
#results .searchToggle:focus-visible { outline: 3rem solid #0874cc; outline-offset: 4rem; }
#results .searchToggleTitle { font-size: 18rem; font-weight: 700; line-height: 1.6; }
#results .searchActiveBadge { display: inline-block; margin-left: 12rem; padding: 2rem 8rem; color: var(--blue); background: #edf6fc; border-radius: 3rem; font-size: 12rem; vertical-align: middle; }
#results .searchToggleAction { display: flex; align-items: center; gap: 12rem; flex-shrink: 0; font-size: 13rem; }
#results .searchToggleIcon { position: relative; width: 16rem; height: 16rem; }
#results .searchToggleIcon::before, #results .searchToggleIcon::after { content: ''; position: absolute; background: currentColor; }
#results .searchToggleIcon::before { width: 16rem; height: 2rem; left: 0; top: 7rem; }
#results .searchToggleIcon::after { width: 2rem; height: 16rem; left: 7rem; top: 0; }
#results .searchCloseLabel, #results .searchAccordion[open] .searchOpenLabel, #results .searchAccordion[open] .searchToggleIcon::after { display: none; }
#results .searchAccordion[open] .searchCloseLabel { display: inline; }
#results .resultsSearch .searchAccordion .caseFilters { border: 0; border-top: 1rem solid #d9e5ee; border-radius: 0; }
@media (max-width: 780px) {
	#results section.resultsSearch { padding: 16rem 0; }
	#results .searchToggle { gap: 12rem; padding: 16rem; }
	#results .searchToggleTitle { font-size: 15rem; }
	#results .searchToggleAction { gap: 8rem; font-size: 12rem; }
}
:is(#results, #blog, #news, .knowledgePage) .resultsList { background: #f7f9fb; padding: 54rem 0 70rem; scroll-margin-top: 140rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .listHead { display: flex; justify-content: space-between; align-items: flex-end; gap: 20rem; margin-bottom: 28rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .listTools { display: flex; align-items: center; gap: 24rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .resultCount { font-size: 14rem; color: #5b7084; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .resultCount strong { color: var(--deep); font-size: 24rem; margin-right: 4rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .sortControl select { background: transparent; border: 0; border-bottom: 1rem solid #a7bccd; padding: 8rem 26rem 8rem 6rem; font-size: 14rem; color: var(--deep); }
:is(#results, #blog, #news, .knowledgePage) .resultsList .activeConditions { margin-bottom: 22rem; color: #4a657b; font-size: 13rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 28rem 24rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseCard { min-width: 0; height: 100%; background: white; border: 1rem solid #dce6ee; border-radius: 4rem; overflow: hidden; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseLink { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; height: 100%; color: inherit; text-decoration: none; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .casePhoto { flex-shrink: 0; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #e7eef4; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .casePhoto img { transition: transform 0.3s ease; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseLink:hover .casePhoto img { transform: scale(1.04); }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseLink:hover .caseTitle { color: var(--blue); }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseLink:focus-visible { outline-offset: -4rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseBody { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; flex: 1; padding: 22rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseCategory { display: flex; justify-content: flex-start; margin-bottom: 12rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseCategory span { display: inline-block; color: var(--blue); background: #edf6fc; padding: 4rem 10rem; font-size: 14rem; font-weight: 700; line-height: 1.6; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseMeta { display: flex; justify-content: space-between; gap: 10rem; align-items: center; font-size: 14rem; color: #496579; margin-bottom: 10rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseArea { color: #49697f; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseTitle { color: var(--deep); font-size: 22rem; font-weight: 700; line-height: 1.6; margin-bottom: 16rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseStats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 12rem; padding: 12rem; margin-bottom: 16rem; background: #f2f7fb; border-radius: 3rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseStats > div { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: baseline; gap: 8rem; min-width: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseStats > .stat-cost { grid-column: 1 / -1; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseStats dt { color: #496579; font-size: 14rem; line-height: 1.5; margin: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseStats dd { min-width: 0; margin: 0; color: var(--deep); font-size: 16rem; font-weight: 700; line-height: 1.7; overflow-wrap: anywhere; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseStatsNote { margin-top: -6rem; margin-bottom: 12rem; color: #496579; font-size: 13rem; line-height: 1.8; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseDescription { color: #405e74; font-size: 16rem; line-height: 1.85; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin-bottom: 20rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseMore { display: flex; justify-content: space-between; align-items: center; border-top: 1rem solid #e3ebf1; padding-top: 16rem; margin-top: auto; font-size: 15rem; font-weight: 700; color: var(--deep); }
:is(#results, #blog, #news, .knowledgePage) .resultsList .caseMore > span:last-child { color: var(--blue); font-size: 20rem; line-height: 1; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .pagination { display: flex; flex-wrap: wrap; gap: 8rem; margin-top: 44rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .pagination button { min-width: 44rem; width: auto; height: 44rem; padding: 0 14rem; background: white; color: var(--deep); border: 1rem solid #cbdce8; border-radius: 3rem; font-size: 14rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .pagination button[aria-current="page"] { background: var(--deep); color: white; border-color: var(--deep); }
:is(#results, #blog, #news, .knowledgePage) .resultsList .pagination button:disabled { color: #8b9dab; background: #f2f5f7; cursor: default; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44rem; height: 44rem; padding: 0 14rem; border: 1rem solid #cbdce8; border-radius: 3rem; color: var(--deep); background: white; font-size: 14rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .pagination .page-numbers.current { color: white; background: var(--deep); border-color: var(--deep); }
:is(#results, #blog, #news, .knowledgePage) .resultsList .pagination .page-numbers.dots { border-color: transparent; background: transparent; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .imagePlaceholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #6e8293; font-size: 16rem; letter-spacing: 0.1em; }
:is(#results, #blog, #news, .knowledgePage) .resultsList a.emptyReset { display: inline-flex; align-items: center; justify-content: center; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .sortSubmit { min-width: 0; width: auto; height: 36rem; padding: 0 12rem; border-radius: 3rem; font-size: 13rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .previewNote { margin-top: 26rem; color: #6e8293; font-size: 12rem; text-align: center; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .emptyState { padding: 65rem 20rem; background: white; border: 1rem solid #dce6ee; text-align: center; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .emptyTitle { font-size: 22rem; font-weight: 700; color: var(--deep); margin-bottom: 16rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .emptyState p { line-height: 1.9; }
:is(#results, #blog, #news, .knowledgePage) .resultsList .emptyReset { min-width: 0; width: auto; height: 46rem; margin-top: 24rem; padding: 0 22rem; color: white; border: 0; border-radius: 3rem; background: var(--blue); font-size: 14rem; }

/* スマートフォン */
@media (max-width: 780px) {
	:is(#results, #blog, #news, .knowledgePage) .contentWrapper { padding-left: 20rem; padding-right: 20rem; }
	:is(#results, #blog, #news, .knowledgePage) .sectionTitle { font-size: 25rem; }
	:is(#results, #blog, #news, .knowledgePage) .sectionLead { font-size: 14rem; }
	:is(#results, #blog, #news, .knowledgePage) .eyebrow { font-size: 14rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsHero { height: 300rem; background-position: 61% center; }
	:is(#results, #blog, #news, .knowledgePage) .resultsHero h1 { font-size: 44rem; margin-bottom: 15rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsHero .heroTag { font-size: 19rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsHero .heroText { font-size: 13rem; line-height: 1.9; }
	:is(#results, #blog, #news, .knowledgePage) .resultsSearch { padding: 32rem 0; }
	:is(#results, #blog, #news, .knowledgePage) .resultsSearch .caseFilters { padding: 18rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsSearch .serviceButtons { gap: 8rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsSearch .serviceButton { height: auto; min-height: 38rem; padding: 8rem 12rem; font-size: 12rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterDetail { grid-template-columns: minmax(0, 1fr); gap: 16rem; margin-top: 20rem; padding-top: 20rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsSearch .filterReset { height: 30rem; justify-self: center; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList { padding: 34rem 0 44rem; scroll-margin-top: 76rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList .listHead { flex-direction: column; align-items: stretch; gap: 16rem; margin-bottom: 22rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList .listTools { justify-content: space-between; gap: 12rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList .caseGrid { grid-template-columns: minmax(0, 1fr); gap: 22rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList .caseBody { padding: 20rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList .caseTitle { font-size: 21rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList .pagination { margin-top: 28rem; gap: 6rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList .pagination button { min-width: 40rem; height: 40rem; padding: 0 12rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList .pagination .page-numbers { min-width: 40rem; height: 40rem; padding: 0 12rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList .previewNote { font-size: 11rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsList .emptyTitle { font-size: 19rem; }
}
@media (prefers-reduced-motion: reduce) {
	:is(#results, #blog, #news, .knowledgePage) .resultsList .casePhoto img { transition: none; }
}

/* 産廃豆知識 */
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .table-wrap { max-width: 100%; overflow-x: auto; margin: 24rem 0; }
/* 画像用figureのline-height:0を、figure内の表へ継承させない。 */
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent table { width: 100%; line-height: 1.85; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent :is(th, td) { height: auto; padding: 12rem 14rem; line-height: 1.85; vertical-align: top; text-align: left; white-space: normal; overflow-wrap: anywhere; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .knowledgeCompanyGuide { padding: 20rem 24rem; margin: 24rem 0; background: #eef7f4; border-left: 3rem solid #6ba297; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .knowledgeCompanyGuide p { margin: 0; }
/* 関連記事のテキストリンクも、画像用figureの行間ゼロから切り離す。 */
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .wp-block-embed { line-height: 1.85; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .wp-block-embed__wrapper { min-width: 0; line-height: inherit; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .wp-block-embed .wp-embedded-content { height: auto; font-size: inherit; line-height: inherit; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .wp-block-embed a { white-space: normal; overflow-wrap: anywhere; line-height: inherit; }
@media (min-width: 781px) {
	/* 長いサイドはページと一緒に流れ、末尾が見えた位置で追従する。 */
	body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .detailAside { position: static; max-height: none; overflow: visible; }
	body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .detailAside[data-follow-ready] { position: sticky; top: min(calc(var(--header-height, 120rem) + 24rem), calc(100dvh - var(--knowledge-aside-height) - 24rem)); }
}
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent blockquote { margin: 24rem 0; padding: 18rem 22rem; border-left: 4rem solid #8cbab2; background: #f0f7f5; font-size: 16rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .sc_frame_wrap, body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent #toc_container { padding: 20rem; margin: 24rem 0; border: 1rem solid #dce6ee; border-radius: 4rem; background: #f6f9fb; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .sc_frame_title { font-weight: 700; margin-bottom: 12rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .knowledgeDetailIllustration { margin: 0 0 32rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .knowledgeDetailIllustration img { display: block; width: 100%; height: auto; margin: 0; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .detailColumns.knowledgeEntry { grid-template-columns: minmax(0, 1fr); }
/* 東京の臨海部の処理場をイメージした生成画像。実在施設の写真ではありません。 */
body.knowledgePage:is(#explanation, #sanpai-tips, body) section.resultsDetailHero { color: white; background: linear-gradient(90deg, rgba(12, 48, 43, 0.94) 0%, rgba(12, 48, 43, 0.82) 42%, rgba(12, 48, 43, 0.3) 100%), url('img/knowledge/tokyo-processing-hero.webp') center 53% / cover no-repeat; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) section.resultsDetailHero .eyebrow { color: #abd8bd; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) section.resultsDetailHero h1 { color: white; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) section.resultsDetailHero .sectionLead { color: #e0ece5; }
body#sanpai-tips.knowledgePage section.resultsDetailHero { min-height: 320rem; }
body#sanpai-tips.knowledgePage section.resultsDetailHero h1 { font-size: 54rem; }
@media (max-width: 780px) {
	body.knowledgePage:is(#explanation, #sanpai-tips, body) section.resultsDetailHero { background-image: linear-gradient(90deg, rgba(12, 48, 43, 0.92), rgba(12, 48, 43, 0.65)), url('img/knowledge/tokyo-processing-hero.webp'); background-position: center, 65% 53%; }
	body#sanpai-tips.knowledgePage section.resultsDetailHero { min-height: 270rem; }
	body#sanpai-tips.knowledgePage section.resultsDetailHero h1 { font-size: 36rem; }
}
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .knowledgeLinks { display: block; margin: 0; border: 0; border-radius: 0; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .detailAside .consultHead { padding: 20rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .detailAside .consultHead .eyebrow { margin-bottom: 4rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .detailAside .consultHead h2 { font-size: 20rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .detailAside .asideLinks { padding: 12rem 20rem; margin-top: 16rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .detailAside .knowledgeLinks { margin-top: 0; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .detailAside .asideLinks a { height: auto; padding: 12rem 0; line-height: 1.75; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent ul { list-style: disc; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .knowledgeLinks a[aria-current="page"] { color: #26776c; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent > h2:first-child { margin-top: 0; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .knowledgeIntro { padding: 22rem 24rem; margin-bottom: 32rem; border-left: 4rem solid #26776c; background: #eef7f4; }
body#sanpai-tips.knowledgePage .resultsDetail .articleCard { padding: 40rem; }
body#sanpai-tips.knowledgePage .postContent .knowledgeTopicGroup { margin-top: 48rem; padding: 0; }
body#sanpai-tips.knowledgePage .postContent .knowledgeTopicGroup:first-child { margin-top: 32rem; }
body#sanpai-tips.knowledgePage .postContent .knowledgeGroupLabel { margin: 0 0 8rem; color: #26776c; font-size: 13rem; font-weight: 700; letter-spacing: 0.12em; }
body#sanpai-tips.knowledgePage .postContent .knowledgeTopicGroup h2 { margin: 0 0 24rem; padding: 0 0 16rem; font-size: 28rem; border-bottom: 1rem solid #dce6ee; }
body#sanpai-tips.knowledgePage .knowledgeTopicGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24rem; }
body#sanpai-tips.knowledgePage .postContent a.knowledgeTopicCard { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; border: 1rem solid #dce6ee; border-radius: 6rem; overflow: hidden; text-decoration: none; color: var(--navy); transition: border-color 0.2s, box-shadow 0.2s; }
body#sanpai-tips.knowledgePage .postContent a.knowledgeTopicCard:hover { border-color: #6ba297; box-shadow: 0 6rem 18rem #183c3210; }
body#sanpai-tips.knowledgePage .postContent .knowledgeTopicCard figure { margin: 0; width: 100%; height: 180rem; overflow: hidden; background: #eef7f4; }
body#sanpai-tips.knowledgePage .postContent .knowledgeTopicCard img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; border-radius: 0; }
body#sanpai-tips.knowledgePage .postContent .knowledgeTopicCard .knowledgeCostIllustration { height: auto; aspect-ratio: 3 / 2; }
body#sanpai-tips.knowledgePage .postContent .knowledgeCostIllustration img { object-fit: contain; }
body#sanpai-tips.knowledgePage .knowledgeTopicCopy { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; flex: 1; width: 100%; padding: 24rem; }
body#sanpai-tips.knowledgePage .postContent .knowledgeTopicDirectory h3 { margin: 0 0 12rem; padding: 0; border: 0; font-size: 22rem; line-height: 1.6; }
body#sanpai-tips.knowledgePage .postContent .knowledgeTopicDirectory h3 small { display: block; font-size: 13rem; color: #526d68; margin-bottom: 8rem; font-weight: 400; }
body#sanpai-tips.knowledgePage .postContent .knowledgeTopicDirectory .knowledgeTopicCopy p { margin: 0 0 20rem; font-size: 15rem; line-height: 1.9; color: #526d68; }
body#sanpai-tips.knowledgePage .knowledgeTopicMore { display: flex; justify-content: space-between; gap: 12rem; margin-top: auto; padding-top: 16rem; border-top: 1rem solid #dce6ee; color: #26776c; font-size: 14rem; font-weight: 700; }
body#sanpai-tips.knowledgePage .knowledgeTopicTag { display: block; color: #26776c; font-size: 12rem; font-weight: 700; margin-bottom: 14rem; letter-spacing: 0.05em; }
body#sanpai-tips.knowledgePage .postContent a.knowledgeCostOverview { display: block; padding: 28rem; border-radius: 6rem; background: #eef7f4; border: 1rem solid #cee2db; text-decoration: none; color: var(--navy); }
body#sanpai-tips.knowledgePage .postContent a.knowledgeCostOverview:hover { background: #e3f0eb; }
body#sanpai-tips.knowledgePage .postContent .knowledgeCostOverview p { font-size: 15rem; color: #526d68; margin: 0 0 20rem; }
body#sanpai-tips.knowledgePage .postContent .knowledgeItemLead { margin: 28rem 0 20rem; font-size: 15rem; color: #526d68; }
@media (max-width: 780px) {
	body#sanpai-tips.knowledgePage .resultsDetail .articleCard { padding: 24rem 20rem; }
	body#sanpai-tips.knowledgePage .knowledgeTopicGrid { grid-template-columns: minmax(0, 1fr); gap: 20rem; }
	body#sanpai-tips.knowledgePage .postContent .knowledgeTopicGroup h2 { font-size: 24rem; }
	body#sanpai-tips.knowledgePage .postContent .knowledgeTopicDirectory h3 { font-size: 20rem; }
	body#sanpai-tips.knowledgePage .postContent a.knowledgeCostOverview { padding: 24rem; }
}
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .knowledgeIntro p { margin: 0; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .knowledgeCards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .knowledgeCards a { display: block; padding: 20rem 24rem; border: 1rem solid #dce6ee; border-radius: 4rem; text-decoration: none; font-weight: 700; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .knowledgeCards a:hover { background: #eef7f4; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .knowledgeArticleLinks { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 24rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .knowledgeArticleLinks a { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; height: 100%; gap: 0; padding: 0; overflow: hidden; line-height: 1.8; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .knowledgeArticleThumb { margin: 0; aspect-ratio: 3 / 2; background: #f3f7f4; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .resultsDetail .postContent .knowledgeArticleThumb img { display: block; width: 100%; height: 100%; object-fit: contain; margin: 0; border-radius: 0; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .knowledgeArticleTitle { padding: 20rem 20rem 16rem; font-size: 17rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .knowledgeArticleMore { display: flex; justify-content: space-between; align-items: center; gap: 12rem; margin: auto 20rem 0; padding: 14rem 0 18rem; border-top: 1rem solid #dce6ee; font-size: 14rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .knowledgeRelated { margin-top: 20rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .knowledgeRelated .knowledgeLinks a { display: grid; grid-template-columns: 60rem minmax(0, 1fr) 12rem; gap: 10rem; font-size: 13rem; }
body.knowledgePage:is(#explanation, #sanpai-tips, body) .knowledgeRelated .knowledgeLinks img { display: block; width: 60rem; height: 40rem; object-fit: contain; border-radius: 3rem; }
@media (max-width: 780px) {
	body.knowledgePage:is(#explanation, #sanpai-tips, body) .knowledgeArticleLinks { grid-template-columns: minmax(0, 1fr); gap: 20rem; }
}

/* お知らせ */
#news .newsListItems { background: white; border: 1rem solid #dce6ee; border-radius: 4rem; }
#news .newsListItems article + article { border-top: 1rem solid #dce6ee; }
#news .newsListLink { display: grid; grid-template-columns: 110rem minmax(0, 1fr) 24rem; align-items: center; gap: 24rem; padding: 28rem; color: var(--deep); }
#news .newsListLink time { font-size: 14rem; color: #647b8e; }
#news .newsListLink h2 { font-size: 20rem; line-height: 1.7; overflow-wrap: anywhere; }
#news .newsListLink:hover h2 { color: var(--blue); }
#news .newsListLink > span { color: var(--blue); font-size: 22rem; }
#home .homeNewsEmpty { padding: 24rem 0; color: #647b8e; font-size: 15rem; }
@media (max-width: 780px) {
	#news .newsListLink { grid-template-columns: minmax(0, 1fr) 20rem; gap: 8rem 16rem; padding: 20rem; }
	#news .newsListLink time { grid-column: 1; }
	#news .newsListLink h2 { grid-column: 1; font-size: 17rem; }
	#news .newsListLink > span { grid-column: 2; grid-row: 1 / 3; }
}

/* 社長ブログ */
#blog section.pageFirstView { color: #244b3b; background: linear-gradient(115deg, #f5faf5, #e1efe3); }
#blog section.pageFirstView h1 { color: #244b3b; }
#blog section.pageFirstView .eyebrow { color: #397657; }
#blog section.pageFirstView .sectionLead, #blog section.pageFirstView .detailMeta { color: #526c5d; }
#blog .blogHero h1 { margin-bottom: 0; }
#blog .blogHeroInner { display: grid; grid-template-columns: minmax(0, 1fr) 330rem; align-items: center; gap: 48rem; }
#blog .blogPresident { display: flex; align-items: center; gap: 22rem; margin: 0; }
#blog .blogPresident img { display: block; width: 160rem; height: 200rem; object-fit: cover; border-radius: 4rem; flex-shrink: 0; }
#blog .blogPresident figcaption { color: #244b3b; }
#blog .blogPresident small { display: block; font-size: 12rem; line-height: 1.8; }
#blog .blogPresident strong { display: block; margin-top: 10rem; font-size: 24rem; letter-spacing: 0.08em; white-space: nowrap; }
#blog .blogPresident span { display: block; margin-top: 6rem; color: #397657; font-size: 11rem; letter-spacing: 0.08em; }
#blog .blogAuthorCard { padding: 20rem; margin-bottom: 20rem; gap: 16rem; background: #edf5ee; border: 1rem solid #d4e3d7; border-radius: 4rem; }
#blog .blogAuthorCard img { width: 100rem; height: 125rem; }
#blog .blogAuthorCard strong { font-size: 22rem; }
@media (max-width: 780px) {
	#blog .blogHeroInner { grid-template-columns: minmax(0, 1fr); gap: 24rem; }
	#blog .blogPresident { gap: 18rem; }
	#blog .blogPresident img { width: 100rem; height: 125rem; }
	#blog .blogPresident strong { margin-top: 6rem; font-size: 22rem; }
}
#blog .resultsList .caseTitle { overflow-wrap: anywhere; }
#blog .resultsDetail .blogRecentPosts { border: 0; margin: 0; border-radius: 0; }
#blog .resultsDetail .asideLinks.blogRecentPosts a { flex-direction: column; align-items: flex-start; gap: 6rem; }
#blog .resultsDetail .blogRecentPosts time { color: #647b8e; font-size: 13rem; font-weight: 400; }
#news .resultsDetail .recentPosts { border: 0; margin: 0; border-radius: 0; }
#news .resultsDetail .asideLinks.recentPosts a { flex-direction: column; align-items: flex-start; gap: 6rem; }
#news .resultsDetail .recentPosts time { color: #647b8e; font-size: 13rem; font-weight: 400; }

/* 実績詳細：既存content.cssの末尾に追記（1ルール1行） */
:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero { height: auto; min-height: 270rem; padding: 44rem 0 42rem; color: var(--navy); background: linear-gradient(115deg, #f5fbff, #e4f2fc); }
:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero .eyebrow { color: var(--blue); margin-bottom: 18rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero .detailTags { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: 8rem; margin-bottom: 18rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero .detailTags a { display: inline-block; padding: 5rem 12rem; border: 1rem solid #b7d4e9; background: white; color: var(--deep); border-radius: 3rem; font-size: 14rem; font-weight: 700; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero h1 { max-width: 950rem; font-size: 38rem; line-height: 1.65; letter-spacing: 0.025em; margin: 0 0 20rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero .detailMeta { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: 10rem 24rem; font-size: 14rem; color: #496579; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail { padding: 44rem 0 60rem; background: #f7f9fb; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailColumns { display: grid; grid-template-columns: minmax(0, 1fr) 280rem; align-items: start; gap: 32rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailMain { min-width: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .articleCard { padding: 34rem; background: white; border: 1rem solid #dce6ee; border-radius: 4rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailSummary { padding-bottom: 28rem; border-bottom: 1rem solid #dce6ee; margin-bottom: 30rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailSectionTitle { color: var(--deep); font-size: 24rem; line-height: 1.6; margin-bottom: 20rem; font-weight: 700; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 12rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts > .stat-cost { grid-column: 1 / -1; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts > div { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: baseline; gap: 8rem; min-width: 0; padding: 18rem; background: #f0f7fc; border-radius: 3rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts dt { color: #496579; font-size: 14rem; margin: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts dd { min-width: 0; margin: 0; color: var(--deep); font-size: 23rem; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFactsNote { margin-top: 12rem; font-size: 14rem; line-height: 1.8; color: #496579; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .priceNote { margin-top: 12rem; color: #647b8e; font-size: 13rem; line-height: 1.8; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent { color: #183b56; font-size: 18rem; line-height: 2; overflow-wrap: anywhere; display: flow-root; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent p { margin: 0 0 1.5em; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent h2 { margin: 1.8em 0 0.8em; padding-bottom: 12rem; border-bottom: 2rem solid #d6e8f5; color: var(--deep); font-size: 27rem; line-height: 1.6; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent h3 { margin: 1.6em 0 0.7em; color: var(--deep); font-size: 22rem; line-height: 1.7; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent a { color: var(--blue); text-decoration: underline; text-underline-offset: 4rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent ul, :is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent ol { padding-left: 1.5em; margin: 1em 0 1.5em; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent li { margin-bottom: 0.5em; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent figure { margin: 24rem 0; max-width: 100%; line-height: inherit; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent blockquote > :first-child { margin-top: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent blockquote > :last-child { margin-bottom: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent img { display: block; float: none; width: auto; height: auto; max-width: 100%; margin: 24rem auto; border-radius: 3rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent .alignleft, :is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent .alignright, :is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent .aligncenter { float: none; margin-left: auto; margin-right: auto; max-width: 100%; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent .wp-block-gallery { display: flex; flex-wrap: wrap; gap: 16rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent .wp-block-gallery figure { flex: 1 1 240rem; margin: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent .wp-block-gallery img { width: 100%; margin: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent figcaption { color: #647b8e; font-size: 14rem; line-height: 1.8; text-align: center; margin-top: 10rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent iframe, :is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent video { max-width: 100%; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent .wp-block-table { max-width: 100%; overflow-x: auto; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent table { border-collapse: collapse; max-width: 100%; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent th, :is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent td { border: 1rem solid #dce6ee; padding: 12rem; font-size: 16rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .contentPagination { display: flex; flex-wrap: wrap; gap: 10rem; margin-top: 28rem; color: var(--deep); font-size: 16rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailAside { position: sticky; top: calc(var(--header-height, 120rem) + 24rem); min-width: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultCard { border: 1rem solid #cbdce8; border-radius: 4rem; overflow: hidden; background: white; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultHead { padding: 22rem; color: white; background: var(--deep); }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultHead .eyebrow { color: #a5d3f2; font-size: 13rem; margin-bottom: 8rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultHead h2 { color: white; font-size: 22rem; line-height: 1.6; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultBody { padding: 22rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultBody > p { font-size: 15rem; color: #405e74; line-height: 1.9; margin-bottom: 18rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultButton { display: flex; justify-content: center; align-items: center; gap: 10rem; height: 52rem; border-radius: 3rem; font-size: 16rem; font-weight: 700; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultButton + .consultButton { margin-top: 10rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultButton svg { width: 22rem; height: 22rem; flex-shrink: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultLine { background: #06c755; color: white; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultEmail { background: #f8c400; color: #172b3d; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultPhone { display: block; margin-top: 20rem; padding-top: 18rem; border-top: 1rem solid #dce6ee; color: var(--deep); }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultPhone small { display: block; font-size: 13rem; margin-bottom: 3rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultPhone strong { font-size: 24rem; white-space: nowrap; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultHours { margin-top: 6rem; font-size: 12rem; color: #647b8e; line-height: 1.8; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .asideLinks { margin-top: 18rem; padding: 20rem; border: 1rem solid #dce6ee; border-radius: 4rem; background: white; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .asideLinks a { display: flex; justify-content: space-between; align-items: center; gap: 12rem; padding: 12rem 0; color: var(--deep); font-size: 15rem; font-weight: 700; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .asideLinks a + a { border-top: 1rem solid #dce6ee; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailNavigation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: 16rem; height: auto; margin: 26rem 0 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailNavigation > div { display: block; height: auto; padding: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .adjacentLink { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 8rem; padding: 20rem; background: white; border: 1rem solid #dce6ee; border-radius: 3rem; color: var(--deep); }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .adjacentLink small { font-size: 13rem; color: #647b8e; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .adjacentLink strong { font-size: 15rem; line-height: 1.8; }
:is(#results, #blog, #news, .knowledgePage) .resultsDetail .backToList { display: flex; min-height: 52rem; padding: 12rem 20rem; margin-top: 22rem; color: white; background: var(--deep); border-radius: 3rem; font-size: 16rem; font-weight: 700; }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated { padding: 50rem 0 64rem; background: #eef6fc; }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .sectionTitle { color: var(--navy); font-size: 30rem; line-height: 1.6; margin: 0; }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .sectionLead { color: #496579; font-size: 16rem; margin-top: 8rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .relatedGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 24rem; margin-top: 28rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .relatedCard { min-width: 0; background: white; border: 1rem solid #dce6ee; border-radius: 4rem; overflow: hidden; }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .relatedCard > a { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; height: 100%; color: var(--deep); }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .relatedCard figure { width: 100%; overflow: hidden; background: #e5edf4; }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .relatedBody { padding: 22rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .relatedMeta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8rem; color: #496579; font-size: 14rem; margin-bottom: 12rem; }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .relatedBody h3 { font-size: 20rem; line-height: 1.7; }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .relatedCard > a:hover h3 { color: var(--blue); }
:is(#results, #blog, #news, .knowledgePage) .resultsRelated .relatedPlaceholder { position: absolute; inset: 0; display: flex; color: #647b8e; font-size: 16rem; }
@media (max-width: 780px) {
	:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero { padding: 30rem 0; min-height: 0; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero h1 { font-size: 27rem; line-height: 1.6; margin-bottom: 16rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero .eyebrow { font-size: 14rem; margin-bottom: 16rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero .detailTags a { font-size: 13rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetailHero .detailMeta { font-size: 13rem; gap: 8rem 14rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail { padding: 26rem 0 36rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailColumns { grid-template-columns: minmax(0, 1fr); gap: 30rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .articleCard { padding: 22rem 18rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailSectionTitle { font-size: 22rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailSummary { padding-bottom: 22rem; margin-bottom: 24rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12rem; padding: 14rem; background: #f0f7fc; border-radius: 3rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts > div { gap: 6rem; padding: 0; border-radius: 0; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts > div + div { border-top: 0; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts > .stat-cost { border-top: 1rem solid #d1e1ed; padding-top: 12rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts dt { margin: 0; font-size: 14rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFacts dd { font-size: 18rem; line-height: 1.7; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailFactsNote { font-size: 13rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent { font-size: 15rem; line-height: 1.95; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent :is(th, td) { font-size: 15rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent h2 { font-size: 23rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent h3 { font-size: 20rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .postContent img { margin: 20rem auto; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailAside { position: static; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultHead h2 { font-size: 23rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .consultHours { font-size: 13rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .detailNavigation { gap: 12rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .adjacentLink { padding: 16rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsDetail .adjacentLink strong { font-size: 14rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsRelated { padding: 34rem 0 44rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsRelated .sectionTitle { font-size: 25rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsRelated .sectionLead { font-size: 15rem; }
	:is(#results, #blog, #news, .knowledgePage) .resultsRelated .relatedGrid { grid-template-columns: minmax(0, 1fr); gap: 20rem; margin-top: 22rem; }
}
