/* SNS運用代行ページの本文専用。
   共通枠（../assets/service-shell.css・service-closing.css・service-proof.css）と
   ページ内の<style>には手を入れず、本文だけを .svc に閉じて定義する。
   組みは配信予約ページ（style.css + distribution.css）の本人採用済みの形を写した。
   文字サイズ3段＝本文 .9rem／補助 .84rem／注記 .75rem（HP設計仕様.md・本人採用 2026-09-04）。 */

html{scroll-padding-top:96px}

.svc{--body:.9rem;--support:.84rem;--note:.75rem;font-size:var(--body);line-height:2.05;color:var(--tx)}
.svc h2,.svc h3{font-family:var(--bold);font-weight:700;color:var(--tx);word-break:normal;line-break:strict;text-wrap:balance}
.svc p{color:var(--tx2)}
.svc strong{font-family:var(--bold);font-weight:700;color:var(--tx)}
.svc ul{padding-left:1.4em;margin:0}
.svc li+li{margin-top:5px}
.svc a:focus-visible,.svc summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}

/* 導入（ヒーロー）：左半分にサービスタイトル＋説明、右半分に写真。
   2カラムの割り付け・間隔56px・写真に対してテキストを縦中央にそろえる形は、
   index.html の番組グロースパートナー（#pg-grow .hero-duo）に合わせた（本人指示 2026-09-11）。 */
.svc .hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;padding:56px 0 64px;border-bottom:1px solid var(--line)}
.svc .hero-copy{text-align:left}
.svc .hero .title{display:block;text-align:left;padding:0;margin:0 0 30px}
.svc .hero .title .latin{margin-top:14px}
.svc .hero h2{font-size:30px;line-height:1.75;letter-spacing:.005em;margin:0 0 26px;text-wrap:initial}
.svc .hero h2>span{display:block}
.svc .lead{font-size:var(--body);line-height:2.05;margin:0 0 24px;max-width:42em}
.svc .hero-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 24px;color:var(--tx2);font-size:var(--support);line-height:1.6}
.svc .hero-price b{font-family:var(--sans);font-size:36px;font-weight:500;color:var(--tx);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.svc .hero-price small{font-size:var(--note)}
/* 番組プロデュースの事例画像と同じ額装：各ページの画像を拡大・ぼかして背景に使う。
   中央画像は86%、周囲の余白は7%。背景は低彩度＋白の重ねで明るくし、中央画像との明度差をつける（本人指示 2026-09-11）。 */
.svc .hero-photo{position:relative;isolation:isolate;margin:0;min-width:0;box-sizing:border-box;aspect-ratio:1/1;overflow:hidden;background:var(--gray1)}
.svc .hero-photo::before{content:"";position:absolute;z-index:0;inset:-10%;background:url('../assets/sns/sns-hero.webp') center/cover no-repeat;filter:blur(20px) saturate(.25) brightness(1.25);transform:scale(1.12);pointer-events:none}
.svc .hero-photo::after{content:"";position:absolute;z-index:1;inset:0;background:rgba(255,255,255,.55);pointer-events:none}
.svc .hero-photo img{position:absolute;z-index:2;left:7%;top:7%;display:block;width:86%;height:86%;object-fit:cover;box-shadow:0 18px 42px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.10)}
.svc .cta{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--blue);color:var(--white);padding:11px 22px;min-height:44px;font-size:13px;font-weight:700;line-height:1.7;text-decoration:none;transition:background .2s}
.svc .cta:hover{background:var(--blue-hi);color:var(--white)}

/* 節 */
.svc .section{padding-top:76px;padding-bottom:8px}
.svc .section-title{font-size:28px;line-height:1.65;letter-spacing:.035em;margin:0 0 34px;text-align:center}
.svc .section-intro{font-size:var(--body);text-align:center;margin:-12px 0 28px}
.svc .prose{max-width:760px;margin:0 auto}
.svc .prose p{margin:0 0 18px;line-height:2.1}
.svc .prose p:last-child{margin-bottom:0}

/* お悩み */
.svc .pains{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc .pain{padding:25px 20px;border:1px solid var(--line);border-radius:14px;background:var(--white);text-align:left;font-size:var(--body);line-height:1.95;color:var(--tx2)}
.svc .pain>span{display:block;text-align:center;font-size:22px;font-weight:400;letter-spacing:.04em;color:var(--tx2);line-height:1;margin-bottom:18px}

/* 特徴 */
.svc .feature{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:38px;align-items:start;padding:36px 0;border-top:1px solid var(--line)}
.svc .feature:last-of-type{border-bottom:1px solid var(--line)}
.svc .feature h3{display:block;font-size:20px;line-height:1.8;margin:0;text-wrap:initial}
.svc .feature-num{display:block;font-family:var(--sans);font-size:26px;font-weight:400;line-height:1.2;color:var(--tx2);margin-bottom:16px}
.svc .feature p{margin:0;font-size:var(--body);line-height:2.1}
.svc .feature p+p{margin-top:14px}

/* 料金 */
.svc .table-note{text-align:right;font-size:var(--note);margin:-14px 0 10px;color:var(--tx2)}
.svc .reservation-price{display:flex;justify-content:space-between;align-items:center;gap:24px;border-block:1px solid var(--line);padding:26px 30px}
.svc .reservation-price+.reservation-price{border-top:0}
.svc .reservation-price h3{font-size:21px;margin:0}
.svc .reservation-price p{display:flex;flex-wrap:wrap;align-items:baseline;gap:18px;margin:0;font-size:var(--support)}
.svc .reservation-price b{font-family:var(--sans);font-size:40px;font-weight:500;line-height:1.5;color:var(--tx);font-variant-numeric:tabular-nums;white-space:nowrap}
.svc .reservation-price b span{font-size:var(--body);margin-left:6px}
.svc .billing-note{font-size:var(--body);line-height:2.05;margin:24px 0 0}
.svc .price-subheading{font-size:20px;margin:36px 0 14px}
.svc .usage{display:flex;gap:20px;margin-top:0}
.svc .usage>div{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:20px 26px;background:var(--gray1);border:1px solid var(--line)}
.svc .usage span{font-size:var(--support);color:var(--tx2)}
.svc .usage b{font-family:var(--sans);font-size:28px;font-weight:500;color:var(--tx);font-variant-numeric:tabular-nums;white-space:nowrap}
.svc .usage small{font-size:var(--support)}
.svc .note{font-size:var(--note);color:var(--tx2);line-height:2.05;margin:16px 0 0}
.svc .package-details{margin:22px 0 0;border-top:1px solid var(--line)}
.svc .package-details>div{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);border-bottom:1px solid var(--line)}
.svc .package-details dt{padding:24px 26px;background:var(--gray1);font-family:var(--bold);font-weight:700}
.svc .package-details dd{margin:0;padding:24px 30px;color:var(--tx2)}
.svc .scope{font-size:var(--body);padding:26px 28px;border:1px solid var(--line);background:var(--gray1);color:var(--tx2);line-height:2.05;margin-top:36px}
.svc .scope h3{font-size:19px;margin:0 0 14px;text-wrap:initial}
.svc .scope p{margin:0 0 16px}

/* ご利用の流れ */
.svc .flow{list-style:none;display:grid;grid-template-columns:1fr;gap:0;padding:0;margin:0}
.svc .flow li{display:grid;grid-template-columns:60px 245px minmax(0,1fr);gap:28px;align-items:start;border-top:1px solid var(--line);padding:30px 0;margin:0}
.svc .flow li:last-child{border-bottom:1px solid var(--line)}
.svc .step-num{display:block;font-size:27px;font-weight:400;line-height:1.2;color:var(--tx2);align-self:start}
.svc .step-num small{display:block;font-size:10px;letter-spacing:.18em;margin-bottom:6px}
.svc .flow h3{font-size:19px;margin:0;line-height:1.7;text-wrap:initial}
.svc .flow p{font-size:var(--body);line-height:2.05;margin:0}
.svc .materials{margin-top:34px;padding:26px 28px;border:1px solid var(--line)}
.svc .materials h3{font-size:19px;margin:0 0 14px;text-wrap:initial}
.svc .materials p{margin:0 0 16px}

/* よくある質問 */
.svc .faq-list{border-top:1px solid var(--line);max-width:860px;margin:0 auto}
.svc details{border-bottom:1px solid var(--line)}
.svc summary{list-style:none;display:flex;align-items:baseline;gap:16px;padding:24px 6px;cursor:pointer;font-family:var(--bold);font-size:var(--body);font-weight:700;color:var(--tx);line-height:1.9}
.svc summary::-webkit-details-marker{display:none}
.svc summary:before{content:'Q';font-size:20px;font-weight:400;line-height:1.3;flex:0 0 30px}
.svc summary:after{content:'＋';margin-left:auto;font-size:20px;font-weight:400;flex-shrink:0}
.svc details[open] summary:after{content:'−'}
.svc details p{margin:0;padding:0 36px 24px 52px;font-size:var(--body);line-height:2.05;max-width:760px}
.svc .tail{height:64px}

@media(max-width:1100px){
 .svc .hero{gap:28px}
 .svc .hero h2{font-size:27px}
 .svc .feature{grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:28px}
 .svc .flow li{grid-template-columns:50px 220px minmax(0,1fr);gap:22px}
}
@media(max-width:850px){
 .svc .hero{grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:26px}
 .svc .hero h2{font-size:24px}
 .svc .pains{gap:14px}
 .svc .pain{padding:22px 12px}
 .svc .feature{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:26px}
 .svc .feature h3{font-size:18px}
 .svc .reservation-price{padding:24px 0;flex-wrap:wrap}
 .svc .package-details>div{grid-template-columns:minmax(0,220px) minmax(0,1fr)}
 .svc .package-details dt,.svc .package-details dd{padding:20px}
 .svc .flow li{grid-template-columns:50px minmax(0,1fr);gap:12px 22px}
 .svc .step-num{grid-row:1/3}
 .svc .flow p{grid-column:2}
}
@media(max-width:600px){
 html{scroll-padding-top:85px}
 .svc .hero{grid-template-columns:minmax(0,1fr);gap:22px;padding-bottom:36px}
 .svc .hero h2{font-size:23px;line-height:1.8;text-align:left}
 .svc .hero-price b{font-size:32px}
 .svc .hero-photo{max-width:360px;justify-self:center;width:100%}
 .svc .section{padding-top:52px;padding-bottom:0}
 .svc .section-title{font-size:24px;line-height:1.7;margin-bottom:26px}
 .svc .pains{grid-template-columns:1fr;gap:14px}
 .svc .pain{padding:20px}
 .svc .feature{display:block;padding:26px 0}
 .svc .feature h3{font-size:20px;margin-bottom:18px}
 .svc .feature-num{margin-bottom:12px}
 .svc .reservation-price{display:block}
 .svc .reservation-price h3{font-size:20px;margin-bottom:14px}
 .svc .reservation-price p{gap:12px}
 .svc .reservation-price b{font-size:36px}
 .svc .usage{flex-direction:column;gap:12px}
 .svc .usage>div{padding:18px 22px}
 .svc .usage b{font-size:26px}
 .svc .package-details>div{display:block}
 .svc .package-details dt{padding:14px 18px}
 .svc .package-details dd{padding:18px}
 .svc .scope,.svc .materials{padding:20px}
 .svc .flow li{grid-template-columns:40px minmax(0,1fr);gap:12px 16px;padding:24px 0}
 .svc .flow h3{font-size:18px}
 .svc summary{padding:20px 2px;gap:9px}
 .svc summary:before{flex-basis:24px;font-size:20px}
 .svc details p{padding:0 5px 22px 35px}
}
@media(max-width:350px){
 .svc .hero h2{font-size:21px}
 .svc .section-title{font-size:22px}
 .svc .feature h3{font-size:19px}
}

/* SNS運用代行：動画制作のPCレイアウトを適用（本人指示 2026-09-11）。
   見出し・白いカード・番号／見出し／説明の一覧・相談案内の縦配置を継承。
   SNS固有の文言、料金、写真、既存のスマホ用スタイルは保持する。 */
.sns-plan{display:contents}
@media(min-width:761px){
 .sns-page .svc .hero .hero-detail h2{font-size:32px;line-height:1.75}
 .sns-page .svc #pain-title{font-size:24px;line-height:1.65;margin-bottom:32px}
 .sns-page .svc .section[aria-labelledby="pain-title"]{padding-bottom:64px}
 .sns-page .svc #features{padding-top:76px;padding-bottom:64px}
 .sns-page .svc #features #features-title,
 .sns-page .svc #pricing #pricing-title,
 .sns-page .svc #flow #flow-title{display:block;font-family:var(--bold);font-size:1.7rem;font-weight:700;line-height:1.65;letter-spacing:.02em;text-align:center;margin:0 0 36px;padding:0;border-radius:0;background:none;box-shadow:none}
 .sns-page .svc #features #features-title::before,
 .sns-page .svc #features #features-title::after{content:none}

 /* 動画のプランカードと同じ上罫線・見出し／本文の区切り。 */
 .sns-page .svc .feature-grid{gap:24px}
 .sns-page .svc .feature,.sns-page .svc .feature:last-of-type{padding:24px 32px 28px;border:1px solid var(--line);border-top:3px solid var(--tx);border-radius:0}
 .sns-page .svc .feature h3{font-size:21px;line-height:1.65;min-height:0;margin:0 0 22px}
 .sns-page .svc .feature-num{margin:0 0 8px}
 .sns-page .svc .feature-body{padding-top:22px;border-top:1px solid var(--line)}

 /* 基本料金は音声編集のrate-heroと同じグレーのグラデーション（本人指定）。 */
 .sns-page .svc #pricing{padding-top:80px;padding-bottom:0;background:var(--white);border-bottom:0}
 .sns-page .svc .table-note{text-align:center;margin:-14px 0 24px}
 .sns-page .svc .sns-plan{display:grid;width:min(760px,100%);margin:0 auto 48px;padding:32px 56px 36px;background:radial-gradient(85% 130% at 4% 0%,rgba(255,255,255,.20) 0%,rgba(255,255,255,0) 52%),linear-gradient(105deg,#7b7d87 0%,#585a64 24%,#3a3c45 60%,#26282e 100%);color:var(--white);border:0;border-radius:14px;box-shadow:0 30px 58px -30px rgba(24,25,30,.5),0 4px 12px -5px rgba(24,25,30,.26)}
 .sns-page .svc .sns-plan .rate-grid,
 .sns-page .svc .sns-plan .reservation-price{display:contents}
 .sns-page .svc .sns-plan .reservation-price h3{display:block;grid-row:1;font-size:23px;line-height:1.6;letter-spacing:normal;text-align:center;color:var(--white);padding:0;margin:0 0 24px}
 .sns-page .svc .sns-plan .reservation-price h3::before,
 .sns-page .svc .sns-plan .reservation-price h3::after{content:none}
 .sns-page .svc .sns-plan .reservation-price p{grid-row:2;flex-direction:row;justify-content:center;align-items:baseline;gap:14px;color:var(--white);border:0;padding:0;margin:0}
 .sns-page .svc .sns-plan .reservation-price b{font-size:56px;line-height:1.2;color:var(--white)}
 .sns-page .svc .sns-plan .reservation-price b span{font-size:22px;margin-left:6px}
 .sns-page .svc .price-block{border:1px solid var(--line);border-radius:6px;background:var(--white);padding:36px 32px;margin:0 0 40px}
 .sns-page .svc .price-subheading{font-family:var(--bold);font-size:1.7rem;line-height:1.65;letter-spacing:.02em;text-align:center;margin:0 0 20px}
 .sns-page .svc .price-block>p{text-align:center}
 .sns-page .svc .price-block>.option-total-note{font-size:13px;text-align:left;margin:16px 0 0}
 .sns-page .svc .sns-options{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:24px;font-size:14px;line-height:1.9;text-align:left;color:var(--tx2)}
 .sns-page .svc .sns-options th,.sns-page .svc .sns-options td{padding:20px 16px;vertical-align:top;border-bottom:1px solid var(--line)}
 .sns-page .svc .sns-options thead th{font-family:var(--bold);font-weight:700;background:var(--gray1);color:var(--tx);font-size:13px}
 .sns-page .svc .sns-options th:first-child{width:25%}
 .sns-page .svc .sns-options th:nth-child(2),.sns-page .svc .sns-options th:nth-child(3){width:17%}
 .sns-page .svc .sns-options tbody th{font-family:var(--bold);font-weight:700;color:var(--tx)}
 .sns-page .svc .sns-options th span{display:block;font-family:var(--sans);font-size:13px;font-weight:400}
 .sns-page .svc .sns-options .option-price,.sns-page .svc .sns-options .option-total{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:18px;color:var(--tx)}
 .sns-page .svc .option-note{display:block;font-size:13px;margin-top:12px}
 .sns-page .svc .scope{padding:28px 32px;background:var(--gray1);font-size:14px}
 .sns-page .svc .scope h3{font-size:18px;line-height:1.7;margin-bottom:18px}

 /* 動画制作と同じ、番号・見出し・説明を横に読む一覧。 */
 .sns-page .svc #flow{background:var(--white);padding-top:80px;padding-bottom:0}
 .sns-page .svc #flow .section-intro{text-align:center;max-width:none;margin:-12px 0 30px}
 .sns-page .svc #flow .flow>li{grid-template-columns:28px 210px minmax(0,1fr);gap:20px;align-items:start;padding:22px 0}
 .sns-page .svc #flow .flow>li>.step-num{grid-column:1;grid-row:1;display:block;width:auto;height:auto;border:0;border-radius:0;font-size:14px;line-height:1.95;padding-top:1px}
 .sns-page .svc #flow .flow>li>h3{grid-column:2;grid-row:1;font-size:16px;line-height:1.8;margin:0}
 .sns-page .svc #flow .flow>li>p{grid-column:3;grid-row:1;max-width:none;font-size:14.4px;line-height:1.95;margin:0}
 .sns-page .svc .materials{margin:34px 0 0;padding:28px 32px;background:var(--gray1);border-radius:0;font-size:14px}
 .sns-page .svc .materials h3{font-size:18px;line-height:1.7;margin-bottom:18px}
 .sns-page .svc .materials p{font-size:14px}

 /* 相談文とボタンを動画制作と同じ中央の縦配置にする。 */
 .sns-page #consult .service-closing__inner{width:min(760px,calc(100% - 80px));grid-template-columns:minmax(0,1fr);gap:28px}
 .sns-page #consult h2{max-width:none;font-size:28px;line-height:1.65;text-align:center;margin-bottom:24px}
 .sns-page #consult .service-closing__copy p{max-width:700px;margin-inline:auto}
 .sns-page #consult .service-closing__action{align-items:center}
 .sns-page #consult .service-closing__button{min-width:240px;padding:13px 28px;font-size:14px}
}

/* ヒーローの相談ボタン：動画制作ページと同じ寸法・装飾。 */
.sns-consult-button{
 display:inline-flex;align-items:center;justify-content:center;max-width:100%;
 box-sizing:border-box;padding:11px 22px;margin:0;border:0;border-radius:999px;
 background:var(--blue);color:var(--white);font:700 13px/1.7 var(--sans);
 text-align:center;text-decoration:none;cursor:pointer;
 box-shadow:0 12px 26px -12px rgba(37,99,214,.55);
 transition:background .25s,transform .25s;
}
.sns-consult-button:hover{background:var(--blue-hi);transform:translateY(-2px)}
.sns-consult-button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(prefers-reduced-motion:reduce){
 .sns-consult-button{transition:none}
 .sns-consult-button:hover{transform:none}
}
@media(min-width:761px){
 .sns-page .svc .hero .hero-detail>.sns-consult-button{align-self:center;min-width:240px;padding:13px 28px;font-size:14px}
}

.sns-plan .plan-tax{font-size:13px;font-weight:400;margin-left:8px;vertical-align:baseline}
