/* /service/ 用：トップ（assets/css/v3.css）の .svc-* をそのまま抜き出したもの（T-20261006-31 v4・2026-10-09）。
   このファイルの前半は v3.css の該当行の機械コピー。「/* 接着 */」から下だけが /service/ 用の追加。 */
.svc-wrap{--shadow:0 6px 24px rgba(7,19,31,.08);--shadow-hover:0 14px 36px rgba(7,19,31,.16);--display:"Barlow","din-2014",sans-serif}
.svc-band { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 48px; padding: 22px 28px; background: #fff; box-shadow: var(--shadow); }
.svc-band span { font-size: 13px; letter-spacing: .1em; color: var(--blue); font-weight: 700; }
.svc-band b { font-size: 20px; color: var(--navy); }
.svc-band em { font-style: normal; font-family: var(--display); font-weight: 600; font-size: 32px; color: var(--blue); line-height: 1; }
.svc-band .btn { margin-left: auto; }
.svc-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px clamp(32px, 5vw, 80px); }
.svc-group { border-top: 2px solid var(--navy); padding-top: 22px; }
.svc-num { font-family: var(--display); font-weight: 600; font-size: 14px; letter-spacing: .3em; color: var(--blue); }
.svc-worry { margin-top: 10px; font-size: clamp(19px, 1.7vw, 23px); line-height: 1.5; color: var(--navy); }
.svc-sub { margin-top: 6px; font-size: 14px; color: var(--sub); }
/* ===== サービス一覧：フォーズン型のブロック（10/1） ===== */
.svc-groups { grid-template-columns: 1fr; gap: 64px; }
.svc-group { display: grid; grid-template-columns: minmax(220px, 28%) 1fr; gap: 24px 48px; align-items: start; }
.svc-group > .svc-num, .svc-group > .svc-worry, .svc-group > .svc-sub { grid-column: 1; }
.svc-tiles { grid-column: 2; grid-row: 1 / span 3; display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 14px; }
.svc-tile { position: relative; height: 100%; min-height: 168px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px 14px; background: #fff; box-shadow: var(--shadow); text-align: center; isolation: isolate; overflow: hidden; transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
.svc-tile::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 4px; background: var(--grad); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.svc-tile:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.svc-tile:hover::before { transform: none; }
.svc-tile img { width: 72px; height: 72px; transition: transform .5s var(--ease); }
.svc-tile:hover img { transform: scale(1.1) rotate(-3deg); }
.svc-tile b { font-size: 15px; line-height: 1.5; color: var(--navy); }
@media (max-width: 860px) {
  .svc-group { grid-template-columns: 1fr; }
  .svc-group > *, .svc-tiles { grid-column: 1; grid-row: auto; }
  .svc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .svc-tile { min-height: 140px; }
  .svc-tile img { width: 56px; height: 56px; }
}
@media (min-width: 861px) { .svc-group { grid-template-rows: auto auto 1fr; } }
.svc-groups { gap: 36px; }
.svc-group { padding-top: 16px; gap: 12px 40px; }
.svc-tiles { grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 10px; }
.svc-tile { min-height: 116px; padding: 14px 10px; gap: 8px; }
.svc-tile img { width: 48px; height: 48px; }
.svc-tile b { font-size: 13.5px; line-height: 1.45; }
.svc-worry { font-size: clamp(17px, 1.4vw, 20px); }
.svc-band { margin-bottom: 32px; padding: 16px 24px; }
@media (max-width: 860px) { .svc-tile { min-height: 104px; } .svc-tile img { width: 44px; height: 44px; } .svc-groups { gap: 32px; } }
.svc-tile b { word-break: normal; overflow-wrap: anywhere; line-break: strict; }
.svc-tile b { word-break: keep-all; overflow-wrap: normal; font-size: 13px; }
/* 実績：すべて16:9。先頭は横いっぱい、残り3本は横並び（10/1） */

/* 接着：/service/ だけの追加（トップの .svc-* に足す分） */
.svc-wrap .svc-tile b{font-size:15px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.svc-wrap .svc-sub{font-size:15px}
.svc-wrap{padding:clamp(40px,5vw,72px) 0;background:var(--bg2,#F5F7F9)}
.svc-wrap .svc-band .sv-btn{margin-left:auto;display:inline-block;padding:12px 24px;font-weight:700;font-size:15px;color:#fff;text-decoration:none;background:var(--grad);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.svc-wrap .svc-band span{font-size:15px}
@media (max-width:860px){.svc-wrap .svc-band .sv-btn{margin-left:0}}
/* すべてのサービス（折りたたみ・文字リンク） */
.sv-all{margin-top:clamp(32px,4vw,56px);background:#fff;box-shadow:var(--shadow)}
.sv-all>summary{cursor:pointer;list-style:none;padding:20px 28px;font-size:18px;font-weight:700;color:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:16px}
.sv-all>summary::-webkit-details-marker{display:none}
.sv-all>summary::after{content:"";width:12px;height:12px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg);transition:transform .3s}
.sv-all[open]>summary::after{transform:rotate(-135deg)}
.sv-all-in{padding:0 28px 32px}
.sv-q{display:block;width:100%;max-width:420px;font:inherit;font-size:16px;padding:12px 16px;border:1px solid var(--line);background:var(--bg2);margin:0 0 8px}
.sv-q:focus{outline:2px solid var(--blue);background:#fff}
.sv-grp{margin-top:28px}
.sv-grp h3{font-size:17px;font-weight:700;color:var(--navy);padding-bottom:8px;border-bottom:2px solid var(--navy);margin-bottom:10px}
.sv-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 20px}
.sv-links a{display:block;padding:7px 0;font-size:15px;line-height:1.55;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.sv-links a:hover{color:var(--b2);border-color:var(--b2)}
.sv-links li[hidden],.sv-grp[hidden]{display:none}
.sv-none{padding:24px 0;font-size:15px;color:var(--sub)}
@media (max-width:1100px){.sv-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.sv-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}.sv-all>summary{padding:16px 18px;font-size:17px}.sv-all-in{padding:0 18px 24px}}
/* ヒーロー：英字を外し、日本語の見出しを大きく */
.ot-hero--v4 .ot-hero__ja{font-size:clamp(28px,4vw,44px);font-weight:700;letter-spacing:.04em;color:var(--ink,#07131F);line-height:1.35;margin-top:8px}
.ot-hero--v4 .ot-hero__ja::before,.ot-hero--v4 .ot-hero__ja::after{content:none}
.svc-wrap a{text-decoration:none}
.svc-wrap .svc-group{grid-template-columns:minmax(120px,13%) 1fr;gap:12px 32px}
@media (min-width:1100px){.svc-wrap .svc-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:860px){.svc-wrap .svc-group{grid-template-columns:1fr}.svc-wrap .svc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
.svc-wrap{padding:28px 0}
.svc-wrap .svc-band{margin-bottom:20px;padding:12px 14px;gap:6px 12px}
.svc-wrap .svc-groups{gap:24px}
.svc-wrap .svc-group{gap:10px;padding-top:12px}
.svc-wrap .svc-head{display:flex;align-items:baseline;gap:10px}
.svc-wrap .svc-worry{margin-top:0}
.svc-wrap .svc-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.svc-wrap .svc-tile{min-height:104px;padding:12px 8px;gap:6px}
.svc-wrap .svc-tile img{width:44px;height:44px}
}
.ot-hero--v4 .ot-hero__bc{font-size:14px}
/* 各節の見出しの頭のアイコン（AI検索対策・プロフィール撮影ページ） */
.h2-left .sv-ico{display:inline-block;width:44px;height:44px;vertical-align:middle;margin:-6px 12px 0 0}
.article-link .tag{font-size:14px}
.sv-links a{word-break:keep-all;overflow-wrap:anywhere}
@media (min-width:861px){.svc-wrap .svc-tile{padding:14px 6px}}
/* ===== お悩みマップ（T-20261006-31 追補D・試作 _h46/h46.css の .q/.al/.wb/.pn/.k を移植）。軸1だけ ===== */
.svc-map{margin-top:clamp(40px,5vw,72px)}
.svc-map__h{font-size:clamp(20px,2vw,26px);color:var(--navy);line-height:1.5;margin:0 0 6px}
.svc-map__lead{margin:0 0 18px;font-size:16px;line-height:1.8;color:var(--text);word-break:keep-all;overflow-wrap:anywhere}
.svc-map__body{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start}
.svc-map__plot{position:relative;aspect-ratio:1.05;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.svc-map__q{position:absolute;width:50%;height:50%;background:#F6FBFE}.svc-map__q1{left:0;top:0}.svc-map__q4{right:0;bottom:0}
.svc-map__ax{position:absolute;background:#9FD4EF}.svc-map__ax--h{left:4%;right:4%;top:50%;height:2px}.svc-map__ax--v{top:4%;bottom:4%;left:50%;width:2px}
.svc-map__al{position:absolute;font-size:14px;font-weight:700;color:var(--blue);background:#fff;padding:3px 9px;letter-spacing:.04em;z-index:1}
.svc-map__pt{position:absolute;transform:translate(-50%,-50%);width:150px;background:#fff;box-shadow:var(--shadow);border:0;font:inherit;font-size:14px;font-weight:700;line-height:1.5;color:var(--deep);padding:9px 12px 9px 30px;text-align:left;cursor:pointer;transition:transform .2s,box-shadow .2s;border-radius:22px;word-break:keep-all;overflow-wrap:anywhere}
.svc-map__pt::before{content:"";position:absolute;left:11px;top:50%;width:11px;height:11px;margin-top:-5.5px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(38,167,225,.2)}
.svc-map__pt:hover{transform:translate(-50%,-50%) scale(1.06);box-shadow:var(--shadow-hover);z-index:3}
.svc-map__pt:focus-visible{outline:3px solid var(--b2);outline-offset:2px;z-index:3}
.svc-map__pt[aria-pressed="true"]{background:var(--grad);color:#fff;z-index:2}.svc-map__pt[aria-pressed="true"]::before{background:#fff}
.svc-map__chips{display:none}
.svc-map__panel{background:#fff;box-shadow:var(--shadow);position:relative}
.svc-map__panel::before{content:"";position:absolute;left:0;top:0;height:6px;width:100%;background:var(--grad);clip-path:polygon(2% 0,100% 0,98% 100%,0 100%)}
.svc-map__hd{padding:20px 20px 8px}.svc-map__lbl{font-size:14px;color:var(--blue);font-weight:700;letter-spacing:.08em}
.svc-map__hd h3{margin:4px 0 0;font-size:21px;color:var(--navy);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.svc-map__cards{display:flex;flex-direction:column;gap:10px;padding:10px 20px 20px}
.svc-map__card{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;background:#FAFAFA;padding:10px;text-decoration:none;transition:background .2s,transform .2s}
.svc-map__card:hover{background:#E9F6FD;transform:translateX(4px)}
.svc-map__card:focus-visible{outline:3px solid var(--b2);outline-offset:2px}
.svc-map__ic{aspect-ratio:1;background:linear-gradient(135deg,#E9F6FD,#fff);display:grid;place-items:center}.svc-map__ic img{width:74%;height:auto}
.svc-map__card b{font-size:16px;line-height:1.5;color:var(--deep);word-break:keep-all;overflow-wrap:anywhere}
.svc-map__price{margin:16px 0 0;font-size:15px}.svc-map__price a{color:var(--b2);font-weight:700;text-decoration:none}
@media (max-width:900px){
.svc-map__body{grid-template-columns:1fr}.svc-map__plot{display:none}.svc-map__chips{display:block}
.svc-map__gh{margin:14px 0 8px;font-size:15px;color:var(--blue);letter-spacing:.04em}
.svc-map__g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.svc-map__chip{position:relative;transform:none;width:100%;min-height:56px;border-radius:10px;padding:10px 10px 10px 28px;font-size:14px}.svc-map__chip:hover{transform:none}
.svc-map__panel{margin-top:6px}.svc-map__card{grid-template-columns:56px 1fr}
}
