/* 直近変更前のservice-detail.cssから色と画像を選択的復旧。現在の配置を維持。 */
.service-detail{--sv-ink:var(--sd-ink);--sv-blue:var(--sd-blue);--sv-cyan:var(--sd-sky);--sv-pale:#f3f7fc;color:var(--sd-ink)}
.service-detail .sv-hero{background:#fff}
.service-detail .sv-service-band{background:linear-gradient(110deg,#3038de,#2868ed 55%,#278cf7)}
.service-detail .sv-hero:after{background:linear-gradient(115deg,#fff 18%,#fffffff0 45%,#edf4fa 58%,transparent 58%)}
.service-detail .sv-hero h2{color:var(--sd-ink)}
.service-detail .sv-hero-copy p{color:var(--sd-ink)}
.service-detail .sx-label{color:#3154e8}
.service-detail .sx-heading h2,.service-detail .sr-services>h2{color:#153457}
.service-detail .sx-prose,.service-detail .sx-feature p,.service-detail .se-prose{color:#475569}
.service-detail .sx-features{background:#f3f7fc}
.service-detail .sx-features:before{background:linear-gradient(135deg,#d6eaff,#e5f4fa)}
.service-detail .sx-features:after{background:#edf4fa}
.service-detail .sx-feature{background:#fff;border-color:#dfe7f1;box-shadow:0 5px 20px #15345706;padding:38px 30px 26px}
.service-detail .sx-feature h3{color:#153457}
.service-detail .sx-index{background:#fff;color:#3154e8;box-shadow:0 5px 20px #15345706;border:1px solid #dfe7f1}
.service-detail .sv-restored-feature-photo{width:100px;height:76px;flex:none;margin-bottom:12px;border-radius:16px;overflow:hidden}
.service-detail .sv-restored-feature-photo img{display:block;width:100%;height:100%;object-fit:cover}
.service-detail .sr-support>h2,.service-detail #sr-support-title{color:#3154e8}
.service-detail .sr-support-lead{color:var(--sd-body)}
.service-detail .sr-flow li{background:#f3f7fc;border-color:#dbe4ef;box-shadow:none;grid-template-columns:72px minmax(0,1fr);min-height:104px}
.service-detail .sr-flow li+li{border-top-color:#dbe4ef}
.service-detail .sr-flow li h3{color:#3154e8}
.service-detail .sr-flow li p{color:var(--sd-body);border-left-color:#dbe4ef}
.service-detail .sv-restored-step-image{width:72px;height:72px;background:none;box-shadow:none}
.service-detail .sv-restored-step-image img{width:100%;height:100%;display:block;object-fit:contain}
.service-detail .sr-services{background:#3154e8;box-shadow:0 0 0 100vmax #3154e8;clip-path:inset(0 -100vmax)}
.service-detail .sr-services>h2{color:#fff}
.service-detail .sv-orbit:before{background:#f3f7fc;border-color:#d6eaff}
.service-detail .sv-orbit:after{border-color:#e5f4fa}
.service-detail .sv-orbit-center{background:#fff;border-color:#e1e7ef;box-shadow:0 4px 16px #17365706}
.service-detail .sv-orbit .sr-card{background:#fff;border-color:#e1e7ef;box-shadow:0 4px 16px #17365706}
.service-detail .sv-orbit .sr-card h3{color:var(--sd-ink)}
.service-detail .sv-orbit .sr-card p{color:var(--sd-body)}
.service-detail .sv-orbit .sr-card-illustration{width:72px;height:72px;object-fit:contain;align-self:center}
.service-detail .se-fields{background:#f3f7fc}
.service-detail .sx-contact{background:linear-gradient(110deg,#3038de,#2868ed 55%,#278cf7);color:#fff}
.service-detail .sx-contact:before{background:linear-gradient(110deg,#3038de,#2868ed 55%,#278cf7)}
.service-detail .sx-contact h2,.service-detail .sx-contact-copy{color:#fff}
.service-detail .sx-contact-button{background:#fff;color:#3154e8;border-color:#fff}
.service-detail .sx-contact-button:hover{background:#f3f7fc;color:#3154e8}
@media(min-width:768px) and (max-width:1150px){.service-detail .sx-feature{padding:32px 22px 22px}.service-detail .sv-restored-feature-photo{width:72px;height:54px;margin-bottom:8px}.service-detail .sx-feature h3{font-size:17px}.service-detail .sx-feature p{font-size:13px;line-height:1.65}.service-detail .sv-orbit .sr-card-illustration{width:58px;height:58px}}
@media(max-width:767px){.service-detail .sx-feature{padding:40px 26px 25px}.service-detail .sv-restored-feature-photo{width:80px;height:60px;margin-bottom:10px}.service-detail .sx-feature h3{font-size:19px}.service-detail .sx-feature p{font-size:14px;line-height:1.75}.service-detail .sr-flow li{grid-template-columns:56px minmax(0,1fr);gap:14px}.service-detail .sv-restored-step-image{width:56px;height:56px}.service-detail .sv-orbit .sr-card-illustration{width:66px;height:66px}}

/* サービス一覧のカード本体を、内容量に依存しない正円に固定。 */
.service-detail .sv-orbit{--service-diameter:220px;--center-diameter:260px;width:min(100%,1000px);height:640px}
.service-detail .sv-orbit .sr-card,.service-detail .sv-orbit-center{box-sizing:border-box;aspect-ratio:1 / 1;border-radius:50%;flex-shrink:0;align-items:center;justify-content:center}
.service-detail .sv-orbit .sr-card{width:var(--service-diameter);height:var(--service-diameter);min-width:var(--service-diameter);max-width:var(--service-diameter);min-height:var(--service-diameter);max-height:var(--service-diameter);padding:22px;gap:8px}
.service-detail .sv-orbit-center{width:var(--center-diameter);height:var(--center-diameter);min-width:var(--center-diameter);max-width:var(--center-diameter);min-height:var(--center-diameter);max-height:var(--center-diameter);padding:28px}
.service-detail .sv-orbit .sr-card-illustration{width:58px;height:58px;flex:0 0 58px}
.service-detail .sv-orbit .sr-card>div{flex:0 0 auto;width:100%;text-align:center}
.service-detail .sv-orbit .sr-card h3{font-size:18px;line-height:1.5;overflow-wrap:anywhere}
.service-detail .sv-orbit .sr-card p{font-size:13px;line-height:1.7;margin-top:8px;overflow-wrap:anywhere}
@media(min-width:768px){
 .service-detail .sv-orbit .sr-card:nth-of-type(1){left:calc(25% - 110px);top:0;bottom:auto;right:auto;transform:none}
 .service-detail .sv-orbit .sr-card:nth-of-type(2){left:calc(75% - 110px);top:0;bottom:auto;right:auto;transform:none}
 .service-detail .sv-orbit .sr-card:nth-of-type(3){left:auto;right:0;top:210px;bottom:auto;transform:none}
 .service-detail .sv-orbit .sr-card:nth-of-type(4){left:calc(75% - 110px);top:auto;bottom:0;right:auto;transform:none}
 .service-detail .sv-orbit .sr-card:nth-of-type(5){left:calc(25% - 110px);top:auto;bottom:0;right:auto;transform:none}
 .service-detail .sv-orbit .sr-card:nth-of-type(6){left:0;right:auto;top:210px;bottom:auto;transform:none}
}
@media(max-width:767px){
 .service-detail .sv-orbit{--service-diameter:240px;--center-diameter:230px;height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .service-detail .sv-orbit .sr-card{padding:24px;gap:8px}
 .service-detail .sv-orbit .sr-card h3{font-size:18px}
 .service-detail .sv-orbit .sr-card p{font-size:14px;line-height:1.7}
}
@media(max-width:600px){.service-detail .sv-orbit{grid-template-columns:1fr}}

/* PCの背景リングと放射配置を同じ正円の中心に統一。 */
@media(min-width:768px){
 .service-detail .sv-orbit{width:760px;max-width:100%;height:760px}
 .service-detail .sv-orbit:before,.service-detail .sv-orbit:after{box-sizing:border-box;inset:auto;left:50%;top:50%;aspect-ratio:1 / 1;border-radius:50%;transform:translate(-50%,-50%)}
 .service-detail .sv-orbit:before{width:650px;height:650px}
 .service-detail .sv-orbit:after{width:540px;height:540px}
 .service-detail .sv-orbit-center{left:50%;top:50%;transform:translate(-50%,-50%)}
 .service-detail .sv-orbit .sr-card:nth-of-type(1){left:calc(50% - 245px);top:calc(50% - 343.827px);right:auto;bottom:auto;transform:none}
 .service-detail .sv-orbit .sr-card:nth-of-type(2){left:calc(50% + 25px);top:calc(50% - 343.827px);right:auto;bottom:auto;transform:none}
 .service-detail .sv-orbit .sr-card:nth-of-type(3){left:calc(50% + 160px);top:calc(50% - 110px);right:auto;bottom:auto;transform:none}
 .service-detail .sv-orbit .sr-card:nth-of-type(4){left:calc(50% + 25px);top:calc(50% + 123.827px);right:auto;bottom:auto;transform:none}
 .service-detail .sv-orbit .sr-card:nth-of-type(5){left:calc(50% - 245px);top:calc(50% + 123.827px);right:auto;bottom:auto;transform:none}
 .service-detail .sv-orbit .sr-card:nth-of-type(6){left:calc(50% - 380px);top:calc(50% - 110px);right:auto;bottom:auto;transform:none}
}
/* スマホの配置は維持し、背面の輪郭のみ正円にする。 */
@media(max-width:767px){
 .service-detail .sv-orbit:before{box-sizing:border-box;inset:auto;left:50%;top:50%;width:300px;height:300px;aspect-ratio:1 / 1;border-radius:50%;transform:translate(-50%,-50%)}
 .service-detail .sv-orbit:after{display:none}
}

/* 7工程のみ、以前の大きな角丸カード＋縦タイムラインへ戻す。 */
.service-detail .sr-flow{background:#f3f7fc;border-radius:24px;margin-top:58px;padding:40px clamp(40px,7vw,104px)}
.service-detail .sr-flow ol{display:block;list-style:none;padding:0 0 0 54px;margin:0;position:relative}
.service-detail .sr-flow ol:before{display:block;content:"";position:absolute;left:0;top:94px;bottom:94px;width:4px;border-radius:4px;background:linear-gradient(#3154e8,#65b8ef)}
.service-detail .sr-flow li{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:40px;align-items:center;padding:40px 0;min-height:188px;border:0;border-radius:0;background:transparent;box-shadow:none}
.service-detail .sr-flow li:before{display:block;content:"";position:absolute;left:-61px;top:calc(50% - 7px);width:18px;height:18px;border:3px solid #f3f7fc;border-radius:50%;background:#3869e9;box-shadow:0 0 0 3px #dce8fb}
.service-detail .sr-flow li+li{border-top:1px solid #dbe4ef}
.service-detail .sr-flow li>div{display:block}
.service-detail .sv-restored-step-image{width:96px;height:96px;min-width:0;min-height:0}
.service-detail .sr-flow li h3{padding:0}
.service-detail .sr-flow li p{border:0;padding:0;margin-top:12px}
@media(max-width:1100px){.service-detail .sr-flow{padding-inline:40px}}
@media(max-width:767px){
 .service-detail .sr-flow{padding:16px 18px;border-radius:20px;margin-top:38px}
 .service-detail .sr-flow ol{padding-left:24px}
 .service-detail .sr-flow ol:before{top:62px;bottom:calc(100% / 14);width:3px}
 .service-detail .sr-flow li{grid-template-columns:60px minmax(0,1fr);gap:16px;min-height:220px;padding:32px 0;align-items:start}
 .service-detail .sr-flow li:before{left:-29px;top:56px;width:13px;height:13px;border-width:2px}
 .service-detail .sv-restored-step-image{width:60px;height:60px}
 .service-detail .sr-flow li h3{padding-top:10px}
 .service-detail .sr-flow li p{margin-top:14px}
}

/* 中央はロゴだけにし、サービスの画像と改行を整理。正円の寸法は維持。 */
.service-detail .sv-orbit-center{background:transparent;border:0;box-shadow:none;padding:20px}
.service-detail .sv-orbit-center img{width:100%;height:auto}
.service-detail .sv-orbit .sr-card{padding:20px 16px;gap:8px}
.service-detail .sv-orbit .sr-card-illustration{width:76px;height:76px;flex:0 0 76px}
.service-detail .sv-orbit .sr-card h3{font-size:18px;line-height:1.5;white-space:nowrap}
.service-detail .sv-orbit .sr-card p{font-size:13px;line-height:1.65;margin-top:8px;word-break:keep-all;overflow-wrap:normal}
@media(max-width:767px){.service-detail .sv-orbit .sr-card{padding:22px 18px}.service-detail .sv-orbit .sr-card-illustration{width:80px;height:80px;flex-basis:80px}.service-detail .sv-orbit .sr-card p{font-size:14px}}

/* タイトル帯はdetail-fv.cssの下層共通パネルを再利用。 */
.service-detail .sv-page-title.unified-fv-hero{padding-top:56px;padding-bottom:0}
@media(max-width:767px){.service-detail .sv-page-title.unified-fv-hero{padding-top:34px;padding-bottom:0}}

/* COMPANYと同じ写真寸法・重なり方。共通タイトルパネルは既存CSS。 */
.service-detail .sv-company-hero.unified-fv-hero{padding:12px 0 0}
.service-detail .sv-company-photo{margin:0;width:86%;height:340px;overflow:hidden;border-radius:0 22px 22px 0}
.service-detail .sv-company-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 47%}
.service-detail .sv-hero{min-height:0;background:#fff}
.service-detail .sv-hero:after{display:none}
.service-detail .sv-hero-copy{max-width:100%}
@media(max-width:767px){.service-detail .sv-company-hero.unified-fv-hero{padding:8px 0 0}.service-detail .sv-company-photo{width:94%;height:210px;border-radius:0 16px 16px 0}}

/* キャンスタ紹介の統合。既存の色・書体・写真を維持。 */
.service-detail .sv-unified-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:56px;align-items:center;padding-block:54px}
.service-detail .sv-unified-intro .sv-unified-prose p{max-width:none;font-size:15px;font-weight:400;line-height:1.95;margin-top:18px}
.service-detail .sv-unified-prose strong{font-weight:700}
.service-detail .sv-unified-intro .sx-photo img{aspect-ratio:1.65;object-fit:cover}
@media(max-width:1023px){.service-detail .sv-unified-inner{gap:32px}}
@media(max-width:767px){.service-detail .sv-unified-inner{grid-template-columns:1fr;gap:28px;padding-block:34px}.service-detail .sv-unified-intro .sv-unified-prose p{font-size:14px;line-height:1.95;margin-top:18px}}

/* 統合紹介部分のキャンスタロゴを拡大。 */
.service-detail .sv-unified-intro .sv-logo{width:520px;max-width:100%;height:auto}
@media(max-width:767px){.service-detail .sv-unified-intro .sv-logo{width:100%}}

/* SERVICE末尾CTAをHOMEと同じ左右配置・枠線ボタン形式へ。 */
.service-detail .sx-contact{padding:100px 0}
.service-detail .sx-contact:before{display:none}
.service-detail .sx-contact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:80px;align-items:center;text-align:left}
.service-detail .sx-contact h2{font-size:clamp(28px,3vw,38px);line-height:1.6}
.service-detail .sx-contact-copy{margin-top:20px;max-width:550px;font-size:15px;line-height:2}
.service-detail .sx-contact-button{width:100%;max-width:none;min-height:68px;padding:20px 28px;border:1px solid #ffffffb3;border-radius:4px;background:transparent;color:#fff;font-size:14px;font-weight:700}
.service-detail .sx-contact-button:hover{background:#ffffff12;color:#fff}
@media(min-width:768px) and (max-width:1023px){.service-detail .sx-contact{padding:80px 0}.service-detail .sx-contact-inner{grid-template-columns:minmax(0,1fr) 280px;gap:36px}}
@media(max-width:767px){.service-detail .sx-contact{padding:72px 0}.service-detail .sx-contact-inner{grid-template-columns:1fr;gap:32px}.service-detail .sx-contact h2{font-size:28px}.service-detail .sx-contact-copy{font-size:14px}.service-detail .sx-contact-button{min-height:60px;padding:17px 22px}}

/* 円形サービス一覧の導入文。 */
.service-detail .sv-services-prose{max-width:960px;margin:24px auto 0;color:#fff;font-size:15px;line-height:2}
.service-detail .sv-services-prose p+p{margin-top:18px}
@media(max-width:767px){.service-detail .sv-services-prose{font-size:14px;line-height:1.95}}

/* サービス一覧を薄いブルーグレー背景に変更。 */
.service-detail .sr-services{background:#F3F7FC;box-shadow:0 0 0 100vmax #F3F7FC}
.service-detail .sr-services>h2{color:#153457}
.service-detail .sv-services-prose{color:#25364D}

/* 支援フロー導入文の段落間隔。 */
.service-detail .sr-support-lead p+p{margin-top:18px}

/* サービス一覧中央のロゴを拡大。 */
.service-detail .sv-orbit-center{padding:0}
.service-detail .sv-orbit-center img{width:100%;max-width:100%;height:auto}

/* 中央ロゴのみさらに約23%拡大。周囲の正円配置は維持。 */
.service-detail .sv-orbit-center img{width:145%;max-width:none;height:auto;justify-self:center}

/* サポートセクション上端から見出しまで80px。 */
.service-detail .sr-support{padding-top:80px}

/* サポート見出しと導入文の間隔。 */
.service-detail .sr-support-lead{margin-top:30px}

/* サービス一覧セクション上端から見出しまで80px。 */
.service-detail .sr-services{padding-top:80px}

.service-detail #sr-support-title{font-weight:800}

.service-detail #sr-services-title{font-weight:800}

/* サポートフロー枠の下からセクション下端まで80px。 */
.service-detail .sr-support{padding-bottom:80px}

/* FEATURESセクション上端から見出しまで80px。 */
.service-detail .sx-features{padding-top:80px}

/* FEATURES見出しの太さと見出し下の余白。 */
.service-detail #sx-features-title{font-weight:800}
.service-detail .sx-features .sx-heading{margin-bottom:50px}

/* サービス一覧の紹介文を中央揃え。 */
.service-detail .sv-services-prose{text-align:center}

/* 指定の紹介・特徴見出しをブランドブルーに統一。 */
.service-detail #sr-intro-title,.service-detail #sx-features-title{color:#3154E8}

.service-detail #sr-services-title{color:#3154E8}

/* 提供イラストは切り抜かず、縦横比を維持して表示。 */
.service-detail .sv-feature-illustration img{object-fit:contain}

/* FEATURESの3点のイラストを大きく表示。 */
.service-detail .sv-feature-illustration{width:180px;height:136px;overflow:visible;margin-bottom:12px}
@media(min-width:768px) and (max-width:1150px){.service-detail .sv-feature-illustration{width:130px;height:98px;margin-bottom:8px}.service-detail .sx-feature{padding:24px 20px}.service-detail .sx-feature h3{font-size:16px}.service-detail .sx-feature p{font-size:13px;line-height:1.6}}
@media(max-width:767px){.service-detail .sv-feature-illustration{width:150px;height:112px;margin-bottom:10px}.service-detail .sx-feature{padding:24px}.service-detail .sx-feature h3{font-size:18px}.service-detail .sx-feature p{font-size:13px;line-height:1.65}}

/* FEATURESイラストをさらに拡大。文字サイズを維持して上下余白を整理。 */
.service-detail .sv-feature-illustration{width:220px;height:160px;margin-bottom:8px}
.service-detail .sx-feature{padding-top:22px;padding-bottom:22px}
@media(min-width:768px) and (max-width:1150px){.service-detail .sv-feature-illustration{width:165px;height:118px;margin-bottom:6px}.service-detail .sx-feature{padding-top:16px;padding-bottom:16px}}
@media(max-width:767px){.service-detail .sv-feature-illustration{width:180px;height:130px;margin-bottom:8px}.service-detail .sx-feature{padding-top:18px;padding-bottom:18px}}

/* FEATURESの円内を、画像・見出し・説明文のまとまりで中央配置。 */
.service-detail .sx-feature{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 28px;gap:0}
.service-detail .sv-feature-illustration{width:190px;height:138px;max-width:100%;flex:none;margin:0 auto 14px}
.service-detail .sx-feature-copy{width:100%;padding:0;text-align:center}
.service-detail .sx-feature h3{margin:0 0 12px;font-size:19px;line-height:1.6}
.service-detail .sx-feature p{margin:0;font-size:14px;line-height:1.8}
@media(min-width:768px) and (max-width:1150px){.service-detail .sx-feature{padding:22px}.service-detail .sv-feature-illustration{width:150px;height:100px;margin-bottom:10px}.service-detail .sx-feature h3{font-size:16px;line-height:1.5;margin-bottom:8px}.service-detail .sx-feature p{font-size:13px;line-height:1.65}}
@media(max-width:767px){.service-detail .sx-feature{padding:24px}.service-detail .sv-feature-illustration{width:170px;height:116px;margin-bottom:12px}.service-detail .sx-feature h3{font-size:18px;line-height:1.5;margin-bottom:10px}.service-detail .sx-feature p{font-size:13px;line-height:1.7}}

/* 円の下側に文章が偏らないよう、画像領域と文章幅を再配分。 */
.service-detail .sx-feature{padding:34px 30px 42px;justify-content:center}
.service-detail .sv-feature-illustration{width:180px;height:110px;margin-bottom:12px}
.service-detail .sx-feature-copy{max-width:290px}
.service-detail .sx-feature h3{font-size:19px;line-height:1.5;margin-bottom:12px}
.service-detail .sx-feature p{font-size:14px;line-height:1.75}
@media(min-width:768px) and (max-width:1150px){.service-detail .sx-feature{padding:24px 22px 32px}.service-detail .sv-feature-illustration{width:145px;height:85px;margin-bottom:10px}.service-detail .sx-feature h3{font-size:16px;line-height:1.5;margin-bottom:9px}.service-detail .sx-feature p{font-size:13px;line-height:1.6}}
@media(max-width:767px){.service-detail .sx-feature{padding:28px 26px 38px}.service-detail .sv-feature-illustration{width:165px;height:95px;margin-bottom:12px}.service-detail .sx-feature h3{font-size:18px;line-height:1.5;margin-bottom:10px}.service-detail .sx-feature p{font-size:13px;line-height:1.65}}

/* アイコンの大きさを縮めず、前の表示サイズを維持。 */
.service-detail .sv-feature-illustration{width:190px;height:138px;margin-bottom:12px}
@media(min-width:768px) and (max-width:1150px){.service-detail .sv-feature-illustration{width:150px;height:100px;margin-bottom:10px}}
@media(max-width:767px){.service-detail .sv-feature-illustration{width:170px;height:116px;margin-bottom:12px}}

/* 指定されたSERVICE本文のサイズを統一。 */
.service-detail .sv-unified-intro .sv-unified-prose p,
.service-detail .sx-feature p,
.service-detail .sr-support-lead,
.service-detail .sr-flow li p,
.service-detail .sv-services-prose,
.service-detail .sv-orbit .sr-card p,
.service-detail .sx-contact-copy{font-size:17px}
/* 円内は文字を優先し、サイズと画像を維持したまま余白を整理。 */
.service-detail .sv-orbit .sr-card{padding:12px;gap:4px}
.service-detail .sv-orbit .sr-card p{line-height:1.5;margin-top:6px;word-break:normal;overflow-wrap:anywhere}
.service-detail .sx-feature{padding:22px 20px}
.service-detail .sx-feature p{line-height:1.65}
@media(max-width:767px){
 .service-detail .sv-unified-intro .sv-unified-prose p,
 .service-detail .sx-feature p,
 .service-detail .sr-support-lead,
 .service-detail .sr-flow li p,
 .service-detail .sv-services-prose,
 .service-detail .sv-orbit .sr-card p,
 .service-detail .sx-contact-copy{font-size:16px}
}

/* 指定箇所の青色・2px拡大。 */
.service-detail .sv-unified-prose strong,.service-detail .sr-support-lead strong{color:#3154E8!important}
.service-detail .sx-feature h3{color:#3154E8!important;font-size:21px}
.service-detail .sr-flow li h3{font-size:21px}
.service-detail .sv-orbit .sr-card h3{color:#3154E8!important;font-size:20px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.service-detail .sx-contact .sx-contact-button,.service-detail .sx-contact .sx-contact-button span{background:#FFFFFF;color:#3154E8!important;border-color:#FFFFFF}
.service-detail .sx-contact .sx-contact-button:hover{background:#f3f7fc}
@media(min-width:768px) and (max-width:1150px){.service-detail .sx-feature h3{font-size:18px}}
@media(max-width:767px){.service-detail .sx-feature h3{font-size:20px}.service-detail .sr-flow li h3{font-size:20px}}

/* 見出しは1行、長い紹介強調文はカラム全幅を利用。 */
.service-detail .sx-feature h3{white-space:nowrap;font-size:clamp(14px,1.35vw,21px)}
.service-detail .sv-intro-closing{grid-column:1/-1;margin-top:-18px;font-size:17px;line-height:1.95}
.service-detail .sv-intro-closing strong{color:#3154E8!important;white-space:nowrap;font-size:clamp(13px,1.25vw,17px)}
.service-detail .sv-intro-closing p+p{margin-top:18px}
.service-detail .sv-orbit .sr-card{padding:16px 10px;justify-content:center;gap:10px}
.service-detail .sv-orbit .sr-card-illustration{width:76px;height:76px;flex:0 0 76px;margin:0}
.service-detail .sv-orbit .sr-card h3{font-size:20px;line-height:1.4;margin:0}
.service-detail .sv-orbit .sr-card p{line-height:1.5;margin-top:8px}
@media(max-width:767px){.service-detail .sx-feature h3{font-size:16px}.service-detail .sv-intro-closing{font-size:16px;margin-top:0}.service-detail .sv-intro-closing strong{font-size:16px;white-space:normal}.service-detail .sv-orbit .sr-card{padding:20px 14px}}

/* Mobile support heading: keep meaningful phrases together. */
@media(max-width:767px){.service-detail #sr-support-title{font-size:20px;line-height:1.65;letter-spacing:0}.service-detail #sr-support-title .sv-support-title-line{display:block;white-space:nowrap}.service-detail .sr-support-lead strong{font-size:16px;line-height:1.9;text-wrap:balance;word-break:normal;overflow-wrap:normal}}

/* Mobile FEATURES: readable compact cards instead of tall stacked circles. */
@media(max-width:767px){
 .service-detail .sx-features{padding:48px 0}
 .service-detail .sx-features>.sr-wrap{width:calc(100% - 40px);max-width:520px;margin-inline:auto}
 .service-detail .sx-features .sx-heading{margin-bottom:24px}
 .service-detail #sx-features-title{font-size:20px;line-height:1.6;letter-spacing:0;text-wrap:balance}
 .service-detail .sx-feature-grid{grid-template-columns:minmax(0,1fr);gap:16px;padding-top:0;align-items:stretch;justify-items:stretch}
 .service-detail .sx-feature{width:100%;height:auto;min-height:0;aspect-ratio:auto;border-radius:20px;padding:22px 20px;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;text-align:left}
 .service-detail .sx-feature .sv-feature-illustration{width:72px;height:82px;max-width:100%;margin:0;align-self:start}
 .service-detail .sx-feature .sv-feature-illustration img{width:100%;height:100%;object-fit:contain}
 .service-detail .sx-feature-copy{width:auto;min-width:0;max-width:none;text-align:left}
 .service-detail .sx-feature h3{font-size:18px;line-height:1.55;white-space:normal;word-break:normal;overflow-wrap:normal;margin:0 0 10px}
 .service-detail .sx-feature p{font-size:16px;line-height:1.8;margin:0;word-break:normal}
}
@media(max-width:390px){
 .service-detail .sx-feature{grid-template-columns:60px minmax(0,1fr);gap:12px;padding:20px 16px}
 .service-detail .sx-feature .sv-feature-illustration{width:60px;height:72px}
}

@media(max-width:767px){.service-detail .sx-feature-copy{display:contents}.service-detail .sx-feature h3{grid-column:2;grid-row:1;margin:0}.service-detail .sx-feature p{grid-column:1/-1}.service-detail .sx-feature .sv-feature-illustration{grid-column:1;grid-row:1;align-self:center}}

/* Services copy: requested line breaks apply to mobile only. */
.service-detail #sr-services-title{font-weight:800}
.service-detail .sv-services-prose-mobile{display:none}
@media(max-width:767px){
 .service-detail .sv-services-prose-desktop{display:none}
 .service-detail .sv-services-prose-mobile{display:block;text-align:center}
}

/* Mobile service orbit: six true circles around the logo, without descriptions. */
@media(max-width:767px){
 .service-detail .sv-orbit{position:relative;display:block;width:100%;max-width:440px;height:auto;aspect-ratio:1/1;margin:36px auto 0;padding:0;isolation:isolate}
 .service-detail .sv-orbit:before{width:85%;height:85%;aspect-ratio:1/1;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;z-index:-1}
 .service-detail .sv-orbit-center{position:absolute;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:34%;height:auto;aspect-ratio:1/1;padding:0;display:flex;align-items:center;justify-content:center}
 .service-detail .sv-orbit-center img{width:100%;max-width:100%;height:auto}
 .service-detail .sv-orbit .sr-card{position:absolute;inset:auto;width:30%;height:30%;min-width:0;min-height:0;max-width:none;aspect-ratio:1/1;border-radius:50%;box-sizing:border-box;padding:8px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transform:translate(-50%,-50%);margin:0}
 .service-detail .sv-orbit .sr-card p{display:none}
 .service-detail .sv-orbit .sr-card-illustration{width:42%;height:42%;flex:0 0 42%;object-fit:contain;margin:0}
 .service-detail .sv-orbit .sr-card>div{width:100%;min-width:0}
 .service-detail .sv-orbit .sr-card h3{font-size:clamp(11px,3.1vw,14px);line-height:1.4;text-align:center;white-space:normal;word-break:normal;overflow-wrap:normal;margin:0}
 .service-detail .sv-orbit .sr-card:nth-of-type(1){left:32.5%;top:19.69%}
 .service-detail .sv-orbit .sr-card:nth-of-type(2){left:67.5%;top:19.69%}
 .service-detail .sv-orbit .sr-card:nth-of-type(3){left:85%;top:50%}
 .service-detail .sv-orbit .sr-card:nth-of-type(4){left:67.5%;top:80.31%}
 .service-detail .sv-orbit .sr-card:nth-of-type(5){left:32.5%;top:80.31%}
 .service-detail .sv-orbit .sr-card:nth-of-type(6){left:15%;top:50%}
}

/* Mobile introduction: smaller logo, single-line 20px heading, no stock photo. */
.service-detail .sv-intro-mobile-break{display:none}
@media(max-width:767px){
 .service-detail .sv-unified-intro .sv-logo{width:82%;max-width:300px;height:auto}
 .service-detail #sr-intro-title{font-size:20px;line-height:1.6;letter-spacing:0;white-space:nowrap;max-width:none}
 .service-detail #sr-intro-title wbr{display:none}
 .service-detail .sv-intro-desktop-break{display:none}
 .service-detail .sv-intro-mobile-break{display:initial}
 .service-detail .sv-intro-photo{display:none}
 .service-detail .sv-unified-inner{gap:20px}
}

/* Mobile-only heading and support copy breaks. */
.service-detail .sv-mobile-copy-break,.service-detail .sv-mobile-comma{display:none}
@media(max-width:767px){.service-detail .sv-mobile-copy-break,.service-detail .sv-mobile-comma{display:initial}}

/* Supplied SERVICE introduction photo: keep existing frame and mobile visibility. */
.service-detail .sv-intro-photo .sx-photo img{object-fit:cover;object-position:50% 45%}

/* Supplied SERVICE hero photo, within the existing page-title frame. */
.service-detail .sv-company-photo img{object-fit:cover;object-position:50% 58%}

/* Resolve old positional rules and keep service names in deliberate phrase blocks. */
@media(max-width:767px){
 .service-detail .sv-orbit .sr-card:nth-of-type(n){position:absolute;transform:translate(-50%,-50%);right:auto;bottom:auto}
 .service-detail .sv-orbit .sr-card h3{font-size:clamp(11px,3.2vw,14px);line-height:1.35;letter-spacing:0}
 .service-detail .sv-orbit .sr-card .sv-service-name-segment{display:block;white-space:nowrap}
 .service-detail .sv-orbit .sr-card-illustration{width:40%;height:40%;flex:0 0 40%}
}

/* Desktop support paragraph: keep the recipient phrase together. */
.service-detail .sv-desktop-copy-break{display:none}
@media(min-width:768px){.service-detail .sv-desktop-copy-break{display:initial}.service-detail .sv-support-recipient{white-space:nowrap}}

/* Service-name spans are headings, not the former 11px number labels. */
.service-detail .sv-orbit .sr-card h3 .sv-service-name-segment{font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;margin:0;display:inline}
@media(max-width:767px){.service-detail .sv-orbit .sr-card h3 .sv-service-name-segment{display:block;white-space:nowrap}}

/* Lift the contents of desktop feature circles and keep copy inside their contour. */
@media(min-width:768px){
 .service-detail .sx-feature{padding:18px 28px 42px;justify-content:center}
 .service-detail .sx-feature .sv-feature-illustration{margin-bottom:8px}
 .service-detail .sx-feature h3{margin-bottom:10px}
 .service-detail .sx-feature p{line-height:1.6}
}
@media(min-width:768px) and (max-width:1150px){
 .service-detail .sx-feature{padding:16px 22px 34px}
 .service-detail .sx-feature .sv-feature-illustration{margin-bottom:6px}
 .service-detail .sx-feature h3{margin-bottom:8px}
}

/* Lift content inside the six desktop service circles without changing their shape. */
@media(min-width:768px){
 .service-detail .sv-orbit .sr-card{padding:12px 12px 32px;gap:7px;justify-content:center}
 .service-detail .sv-orbit .sr-card p{margin-top:6px;line-height:1.45}
}

.service-detail .sv-orbit-center picture{display:block;width:100%}

/* More breathing room between the page title and introduction on mobile. */
@media(max-width:767px){.service-detail .sv-unified-inner{padding-top:60px}}

/* Fit the supplied vertical logo within the mobile orbit center. */
@media(max-width:767px){.service-detail .sv-orbit-center picture{width:90%}.service-detail .sv-orbit-center img{display:block;width:100%;height:auto;object-fit:contain}}

/* Keep the orbit logo clear of all surrounding white cards. */
@media(min-width:768px){.service-detail .sv-orbit-center{width:240px;height:240px}.service-detail .sv-orbit-center picture{width:100%}.service-detail .sv-orbit-center img{width:100%;max-width:100%;height:auto}}
@media(max-width:767px){.service-detail .sv-orbit-center{width:28%;height:auto;aspect-ratio:1/1}.service-detail .sv-orbit-center picture{width:85%}.service-detail .sv-orbit-center img{width:100%;max-width:100%;height:auto;object-fit:contain}}

/* Clear legacy fixed min/max dimensions that prevented center-logo shrinking. */
.service-detail .sv-orbit-center{min-width:0;min-height:0;max-width:none;max-height:none;margin:0}
@media(max-width:767px){.service-detail .sv-orbit-center{width:28%;height:28%;min-width:0;min-height:0;max-width:28%;max-height:28%;overflow:hidden}.service-detail .sv-orbit-center picture{width:85%;max-width:100%;height:100%;display:flex;align-items:center;justify-content:center}.service-detail .sv-orbit-center img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}}

/* Match the introduction emphasis to its surrounding body text. */
.service-detail .sv-intro-closing strong{font-size:inherit;line-height:inherit;white-space:normal}

/* Keep the revised feature heading inside its existing card. */
.service-detail .sx-feature h3.sv-feature-focus-title{white-space:normal}

@media(max-width:767px){.service-detail .sv-intro-desktop-words{display:none}}
