/* 2サービスの共通導線。既存の紺・青・黄緑を引き継ぐ。 */
:root{--brand-navy:#0A1B36;--brand-blue:#2F6BDB;--brand-lime:#C9F45F;--brand-paper:#FFFFFF;--brand-mist:#EFF3F9}
.quick-contact{display:none}
@media(max-width:900px){.header{gap:12px!important}.header .logo{margin-right:auto;min-width:0}.header .logo .sub{display:none}.quick-contact{display:inline-flex;align-items:center;gap:8px;background:#C9F45F;color:#0A1B36!important;text-decoration:none;padding:11px 12px;font-size:11px;font-weight:700;white-space:nowrap;border-radius:2px;min-height:42px}.mobile-menu summary{min-height:42px;display:flex;align-items:center}}
@media(max-width:380px){.quick-contact{font-size:10px;padding:10px 9px;gap:5px}.header{gap:9px!important}.mobile-menu summary{font-size:11px!important;padding-left:0!important;padding-right:0!important}}
.header{background:var(--brand-navy)!important;gap:20px;display:flex;align-items:center;justify-content:space-between}
.logo .sub{font-size:11px;letter-spacing:0}
.nav{display:flex;align-items:center;gap:22px}.nav a{font-size:13px;color:#E7ECF5;text-decoration:none}.nav .btn-lime{background:var(--lime);color:var(--navy-900);margin-top:0;padding:11px 20px}.mobile-menu{display:none}
.footer nav{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:13px}.footer nav a{color:var(--sub-dark);text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.header a:focus-visible,.header summary:focus-visible{outline-color:var(--lime)}
.brand-hero{padding:152px 0 76px;background:var(--brand-mist);color:var(--navy)}
.brand-hero h1{font-size:clamp(34px,5.1vw,60px);line-height:1.4;letter-spacing:.015em;font-weight:900;color:var(--navy)}
.brand-hero .heading-line{white-space:normal}.brand-audience{font-size:15px;margin-bottom:24px;color:var(--sub)}
.brand-hero h1 .phrase,.service-hero h1 .phrase{display:inline-block;white-space:nowrap}
.brand-lead{max-width:760px;margin:26px 0 32px;font-size:18px;line-height:2}
.brand-lead .copy-line{display:block}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:32px}
.route{display:flex;flex-direction:column;align-items:flex-start;padding:30px 32px;background:white;border-top:4px solid var(--blue);text-decoration:none;color:var(--ink);box-shadow:0 3px 18px rgba(10,27,54,.045)}
.route:last-child{border-top-color:var(--navy)}.route h2,.route h3{font-size:clamp(22px,2.5vw,28px);line-height:1.55;margin:10px 0 14px}
.route .state{font-size:14px;color:var(--sub)}.route p{font-size:15px;line-height:1.9;margin-bottom:24px}
.route .route-link{display:block;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);width:100%;color:var(--blue);font-weight:700;font-size:15px}
.route:hover{box-shadow:0 6px 22px rgba(10,27,54,.10)}.route:hover .route-link{text-decoration:underline}
.brand-note{font-size:13px;color:var(--sub);margin-top:24px}.brand-note a{font-weight:700}
.brand-section{padding:82px 0}.brand-section.tint{background:var(--mist)}.brand-section h2{margin-bottom:22px}
.brand-section .intro{max-width:760px;margin-bottom:30px;color:var(--sub)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:36px}.two-col>div{min-width:0}.two-col h3{margin:0 0 12px}
.plain-list{list-style:disc;padding-left:1.3em;margin:16px 0}.plain-list li{margin:9px 0}
.deliverable-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px;margin-top:36px}
.deliverable-grid article{border-top:2px solid var(--line);padding-top:22px}.deliverable-grid h3{margin-bottom:14px}
.deliverable-grid p{font-size:15px;color:var(--sub)}.deliverable-grid .output{margin-top:14px;color:var(--ink);font-size:14px}
.service-hero{padding:132px 0 68px;background:var(--navy-900);color:white}.service-hero h1{font-size:clamp(32px,4.6vw,52px);font-weight:900;line-height:1.5;color:white}
.service-hero .heading-line{white-space:normal}.service-hero .crumb{margin-bottom:24px}.service-hero .crumb a{color:var(--blue-light)}
.service-hero .lead{font-size:17px;max-width:760px;margin:24px 0 30px}.service-hero .label{color:var(--blue-light);margin-bottom:14px}
.service-hero .note{margin-top:18px;font-size:13px;color:var(--sub-dark)}.service-crosslink{margin-top:26px;font-size:15px}.service-crosslink a{font-weight:700}
.completion{padding:26px 28px;border-left:4px solid var(--lime);background:var(--mist);margin-top:26px}.completion p{margin-top:10px}
.steps{counter-reset:service-step;list-style:none;margin:30px 0 0}.steps li{counter-increment:service-step;display:grid;grid-template-columns:40px 1fr;column-gap:22px;padding:24px 0;border-top:1px solid var(--line)}
.steps li:before{content:counter(service-step);font-family:Jost,sans-serif;font-size:30px;color:var(--blue);grid-row:1/3}.steps h3{margin-bottom:8px}.steps p{color:var(--sub);max-width:740px}
.scope-box{padding:28px;border:1px solid var(--line);background:white}.scope-box p{margin:12px 0}.fee-value{font-size:26px;font-weight:900;color:var(--navy);line-height:1.5}.fee-value small{font-size:15px}
.service-context{background:var(--mist);padding:24px 28px;border-left:4px solid var(--blue);margin:24px 0}.service-context p{margin:0 0 10px;font-size:15px}.service-context a{display:inline-block;font-weight:700;margin:4px 20px 4px 0}
.form select{width:100%;border:1px solid var(--line);border-radius:6px;padding:13px 14px;background:#fff;color:var(--ink);font:inherit;font-size:15px}.form select:focus{outline:2px solid var(--blue);outline-offset:1px}
.form .field-hint{font-size:13px;color:var(--sub);margin-top:8px}.form .field-hint[hidden]{display:none}
.form label #body-label{color:inherit;font-size:inherit;font-weight:inherit;margin-left:0}
.menu-popover{padding:16px 22px;position:absolute;right:16px;top:60px;width:min(320px,calc(100vw - 32px));background:var(--navy-900);box-shadow:0 12px 24px #0003;border:1px solid #ffffff30}
.menu-popover a{display:block;padding:12px 0;color:white;text-decoration:none;border-bottom:1px solid #ffffff20;font-size:14px}
.mobile-menu summary{color:white;cursor:pointer;font-size:13px;list-style:none;padding:10px 6px}.mobile-menu summary::-webkit-details-marker{display:none}
html.fx-armed .fx{opacity:1;transform:none;transition:none}
@media(max-width:1100px){.logo .sub{display:none}}
@media(max-width:900px){.nav{display:none}.mobile-menu{display:block}.header{height:64px}.brand-hero{padding:112px 0 54px}.route-grid{gap:16px}.route{padding:24px}.brand-section{padding:60px 0}.service-hero{padding:108px 0 56px}}
@media(max-width:620px){.route-grid,.two-col,.deliverable-grid{grid-template-columns:1fr}.route h2,.route h3{font-size:23px}.brand-lead{font-size:16px}.brand-audience{font-size:13px}.brand-hero h1{font-size:clamp(30px,8.2vw,42px)}.brand-section h2{font-size:26px}.brand-section .heading-line{white-space:normal}.service-hero h1{font-size:30px}.service-context{padding:20px}.completion,.scope-box{padding:22px}.two-col{gap:24px}.service-hero .lead{font-size:16px}.hero h1 .ph{max-width:100%}.btn{max-width:100%;white-space:normal}}

/* 新ロゴは、サイト識別・成果物見本・フッター署名の3役に限定する。 */
.header .logo{align-items:center;gap:11px;min-width:0}
.sd-site-logo-mark{display:block;flex:none;width:43px;height:37px;object-fit:contain}
.sd-logo-copy{display:flex;align-items:baseline;gap:10px;min-width:0}
.sd-document-kind{display:inline-flex;align-items:center;gap:8px}
.sd-document-kind img{display:block;width:22px;height:19px;object-fit:contain}
.sd-footer-brand{display:flex;align-items:center;gap:17px;max-width:340px}
.sd-footer-signature{display:flex;align-items:center;gap:12px;flex:none}
.sd-footer-logo-mark{display:block;width:54px;height:46px;object-fit:contain}
.sd-footer-wordmark{color:#fff;font-family:Jost,"Noto Sans JP",sans-serif;font-size:15px;font-weight:600;letter-spacing:.15em;line-height:1.3;white-space:nowrap}
.sd-footer-wordmark::after{content:"";display:block;width:34px;height:2px;margin-top:8px;background:var(--lime)}
.sd-footer-brand .tag{margin:0;line-height:1.8}
@media(max-width:900px){.sd-site-logo-mark{width:39px;height:34px}.header .logo{gap:9px}.sd-logo-copy{gap:8px}}
@media(max-width:620px){.sd-document-kind{gap:6px}.sd-document-kind img{width:19px;height:17px}.sd-footer-brand{width:100%;max-width:none;align-items:flex-start;flex-direction:column;gap:12px}.sd-footer-logo-mark{width:48px;height:41px}.sd-footer-wordmark{font-size:14px}}
@media(max-width:360px){.sd-logo-copy .mark{display:none}.sd-site-logo-mark{width:40px;height:35px}.header .logo{gap:0}}
