/* サービス詳細ページ（AI検索対策など）の部品：お悩みカード・手順カード・指標カード・流れ図（T-20261007-10 見た目の直し）。
   文字は本文16px以上・カード内15px以上。余白だけの欄・文字だけの欄を作らない。 */
.sp-in{width:min(1120px,100% - 32px);margin:0 auto}
.sp-sec{padding:clamp(48px,6vw,88px) 0}.sp-sec--gray{background:#F5F7F9}
.sp-h{margin:0 0 8px;font-size:clamp(24px,2.6vw,34px);color:var(--navy,#04497D);line-height:1.4;letter-spacing:.03em;display:flex;align-items:center;gap:14px}
.sp-h img{flex:none;width:48px;height:48px}
.sp-lead{margin:0 0 28px;font-size:17px;line-height:1.9;color:var(--text,#3D4650)}
.sp-quote{display:flex;align-items:center;gap:22px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.14);padding:clamp(22px,3vw,36px) clamp(20px,3vw,40px);border-left:6px solid var(--blue,#26A7E1)}
.sp-quote img{flex:none;width:72px;height:72px}
.sp-quote__lab{display:block;margin-bottom:4px;font-size:15px;font-weight:700;color:var(--blue,#26A7E1);letter-spacing:.08em}
.sp-quote b{display:block;font-size:clamp(22px,2.8vw,34px);line-height:1.5;color:var(--navy,#04497D);word-break:keep-all;overflow-wrap:anywhere}
.sp-note{margin:20px 0 0;font-size:16px;line-height:1.9;color:var(--text,#3D4650)}
.sp-note a{color:var(--b2,#2470C9);font-weight:700}
.sp-grid{display:grid;gap:16px;list-style:none;margin:0;padding:0}
.sp-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.sp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-card{position:relative;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.14);padding:24px 20px 22px;display:flex;flex-direction:column;gap:10px}
.sp-card img{width:56px;height:56px}
.sp-card p{margin:0;font-size:16px;line-height:1.75;color:var(--text,#3D4650)}
.sp-card b{display:block;font-size:18px;line-height:1.5;color:var(--navy,#04497D);word-break:keep-all;overflow-wrap:anywhere}
.sp-card--worry p{font-weight:700;color:var(--navy,#04497D);font-size:17px;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}
.sp-card--step::before{content:"";position:absolute;left:0;top:0;height:5px;width:100%;background:linear-gradient(135deg,#2FB7FF,#2470C9)}
.sp-num{font-family:Barlow,din-2014,sans-serif;font-weight:600;font-size:36px;line-height:1;color:var(--blue,#26A7E1);letter-spacing:.04em}
.sp-card--not{flex-direction:row;align-items:center;gap:16px}.sp-card--not img{flex:none}.sp-card--not p{font-weight:700;color:var(--navy,#04497D)}
.sp-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0;position:relative}
.sp-flow::before{content:"";position:absolute;top:28px;left:10%;right:10%;height:3px;background:#9FD4EF}
.sp-flow li{position:relative;text-align:center;padding:0 10px}
.sp-dot{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(135deg,#2FB7FF,#2470C9);color:#fff;font-family:Barlow,din-2014,sans-serif;font-weight:600;font-size:24px;position:relative;z-index:1;box-shadow:0 0 0 6px #fff}
.sp-sec--gray .sp-dot{box-shadow:0 0 0 6px #F5F7F9}
.sp-flow b{display:block;font-size:18px;color:var(--navy,#04497D);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.sp-flow p{margin:6px 0 0;font-size:15px;line-height:1.75;color:var(--text,#3D4650)}
@media (max-width:1000px){.sp-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-flow{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}.sp-flow::before{display:none}}
@media (max-width:640px){
.sp-grid--4,.sp-grid--3,.sp-grid--2{grid-template-columns:1fr}
.sp-quote{flex-direction:column;align-items:flex-start;gap:12px}
.sp-flow{grid-template-columns:1fr;row-gap:0}.sp-flow li{display:grid;grid-template-columns:56px 1fr;column-gap:16px;text-align:left;padding:0 0 22px;align-items:start}
.sp-flow li::before{content:"";position:absolute;left:27px;top:56px;bottom:0;width:3px;background:#9FD4EF}.sp-flow li:last-child::before{display:none}
.sp-dot{margin:0;grid-row:1/span 2}.sp-flow b{align-self:center}.sp-flow p{margin-top:2px}
}
/* 本文は文節で折り返す（対応ブラウザのみ。未対応は従来どおり） */
.sp-card p,.sp-note,.sp-lead,.sp-flow p{word-break:auto-phrase}
/* 5列（撮影の内容など）・料金の特典枠 */
.sp-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1000px){.sp-grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.sp-grid--5{grid-template-columns:1fr}}
.sp-grid .pf-benefit{height:100%;box-sizing:border-box}
.sp-grid .pf-benefit ul{font-size:16px}
/* 写真の枠（スタジオの実写は assets/img/profile/hero.webp・studio-1〜3.webp を置くだけで差し替わる） */
.sp-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:center}
.sp-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#EAF3FA;box-shadow:0 0 8px rgba(0,0,0,.14)}
.sp-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:0 0 20px;padding:0}
.sp-photos img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#EAF3FA;box-shadow:0 0 8px rgba(0,0,0,.14)}
@media (max-width:860px){.sp-split{grid-template-columns:1fr}}
@media (max-width:640px){.sp-photos{grid-template-columns:1fr}}
