/* コワーキングスペースのページ（2026-10-09）：絞り込みリスト（.cw-list）と、施設の表（.cw-spot）。本文に class="cw-list" があるページだけで読み込む */
.cw-list, .cw-spot { --cw-c: var(--wp--preset--color--primary, #0b6f8f); --cw-c2: #e8f3f6; --cw-ink: #1f2f38; --cw-mut: #6b7a82; --cw-line: #dde6ea; --cw-acc: #c0561a; --cw-ok: #1a8f5a; color: var(--cw-ink); line-height: 1.7; }
.cw-list p, .cw-spot p { margin: 0 !important; }

/* 絞り込み */
.cw-list { margin: 20px 0 32px; }
.cw-bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.cw-filters { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cw-lab { font-size: 12px; font-weight: 800; color: var(--cw-mut); margin-right: 2px; }
.cw-filters button { font: 700 13px/1 inherit; font-family: inherit; padding: 9px 12px; border-radius: 100px; border: 1.5px solid var(--cw-line); background: #fff; color: var(--cw-ink); cursor: pointer; }
.cw-filters button.on { background: var(--cw-c); border-color: var(--cw-c); color: #fff; }
.cw-filters--area button.on { background: var(--cw-acc); border-color: var(--cw-acc); }
.cw-sort { font-size: 13px; color: var(--cw-mut); }
.cw-sort select { font: inherit; font-size: 14px; padding: 8px 10px; border-radius: 8px; border: 1.5px solid var(--cw-line); background: #fff; }
.cw-items { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 8px; }
.cw-item { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--cw-line); border-radius: 12px; background: #fff; margin: 0 !important; }
.cw-item.is-hide { display: none; }
.cw-no { font: 800 18px/1 sans-serif; color: #b9c9cf; }
.cw-body b { display: block; font-size: 15px; color: var(--cw-ink); line-height: 1.4; }
.cw-body small { display: block; font-size: 12px; color: var(--cw-mut); margin-top: 2px; }
.cw-p { display: grid; gap: 2px; text-align: right; font-size: 14px; font-weight: 800; color: var(--cw-c); white-space: nowrap; }
.cw-p small { font-weight: 600; color: var(--cw-mut); margin-right: 4px; font-size: 11px; }
.cw-m { display: flex; gap: 10px; }
.cw-mk { display: grid; justify-items: center; gap: 3px; }
.cw-mk small { font-size: 10px; color: var(--cw-mut); font-weight: 700; white-space: nowrap; line-height: 1; }
.cw-b { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-style: normal; font-weight: 800; font-size: 13px; line-height: 1; }
.cw-b--yes { background: #e3f4ec; color: var(--cw-ok); } .cw-b--no { background: #f1f3f5; color: #9aa6ad; } .cw-b--some { background: #fff3e4; color: var(--cw-acc); }
.cw-empty, .cw-note { font-size: 13px; color: var(--cw-mut); margin-top: 10px !important; }
.cw-empty[hidden] { display: none; }

/* 施設の表 */
.cw-spot { margin: 0 0 28px; border: 1px solid var(--cw-line); border-radius: 16px; overflow: hidden; background: #fff; }
.cw-spot__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 16px 20px 10px; }
.cw-spot__name { margin: 0 !important; padding: 0 !important; font-size: 19px; font-weight: 800; line-height: 1.4; color: var(--cw-ink); }
.cw-spot__head span { font-size: 12px; font-weight: 800; color: var(--cw-c); white-space: nowrap; }
.cw-spot__tbl { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 !important; border: 0; }
.cw-spot__tbl th, .cw-spot__tbl td { padding: 12px 20px; border: 0; border-top: 1px solid var(--cw-line); text-align: left; vertical-align: top; background: none; color: var(--cw-ink); }
.cw-spot__tbl th { width: 9em; font-weight: 800; white-space: nowrap; }
.cw-ic { display: inline-block; width: 18px; height: 18px; margin-right: 6px; vertical-align: -4px; border-radius: 50%; background: var(--cw-c2) center / 11px no-repeat; }
.cw-ic-pin { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230b6f8f'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.cw-ic-yen { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6f8f' stroke-width='2.4'%3E%3Cpath d='M7 4l5 8 5-8M12 12v8M8 13h8M8 17h8'/%3E%3C/svg%3E"); }
.cw-ic-link { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6f8f' stroke-width='2.2'%3E%3Cpath d='M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1'/%3E%3C/svg%3E"); }
.cw-ic-clock { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6f8f' stroke-width='2.2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.cw-chips { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.cw-chips li { display: grid; min-width: 0; padding: 6px 10px; border-radius: 12px; background: var(--cw-c2); line-height: 1.3; margin: 0 !important; }
.cw-chips li small { font-size: 11px; color: var(--cw-mut); font-weight: 700; }
.cw-chips li b { font-size: 15px; color: var(--cw-c); }
.cw-small { font-size: 12.5px; color: var(--cw-mut); margin-top: 6px !important; line-height: 1.6; }
.cw-link { color: var(--cw-c); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; word-break: break-all; }
/* 表の直前の写真スライダーと表の間：単体の写真（キャプション → 次の文章）と同じ余白に（2026-10-11、PC 36px・SP 28px。
   スライダーの下余白 36px ＋ 枠内の下余白 4px から引いて合わせる。以前は -20px で詰めていた） */
.dg-peek + .cw-spot { margin-top: -4px; }
@media (max-width: 781px) { .dg-peek + .cw-spot { margin-top: -12px; } }

/* 2026-10-08：狭い画面の並び方は 781px 以下に（サイトのスマホ表示・画面下のメニューと同じ幅。601〜781px で4列が詰まって崩れていた） */
@media (max-width: 781px) {
	/* 狭い画面では、名前 → 料金 → 設備 の順に縦に並べる */
	.cw-item { grid-template-columns: 28px minmax(0, 1fr); gap: 8px 10px; align-items: start; }
	.cw-no { padding-top: 2px; }
	.cw-body { min-width: 0; }
	.cw-p { grid-column: 2; grid-auto-flow: column; justify-content: start; gap: 14px; text-align: left; white-space: normal; }
	.cw-p span { display: block; }
	.cw-m { grid-column: 2; justify-content: flex-start; gap: 14px; }
	.cw-spot__head { padding: 14px 16px 8px; }
	.cw-spot__name { font-size: 17px; }
	.cw-spot__tbl th, .cw-spot__tbl td { display: block; width: auto; padding: 10px 16px; }
	.cw-spot__tbl th { padding-bottom: 2px; }
	.cw-spot__tbl td { border-top: 0; padding-top: 0; }
}

/* 2026-10-08 一覧の見出し・参考レート・注意書き（本文のグループ .cw-sec）。外側の枠はなくし、本文の幅いっぱいに */
.cw-sec { margin-top: 36px !important; margin-bottom: 36px !important; }
.cw-sec > * { margin-top: 0 !important; margin-bottom: 0 !important; }
/* 一覧の名前は見出しのような飾りを付けず、表の題名くらいの控えめな太字に（2026-10-09） */
.cw-sec .cw-ttl { font-size: 16px !important; font-weight: 700; line-height: 1.6; color: #1f2f38; }
.cw-sec .cw-rate { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 12px !important; padding: 10px 14px; border-radius: 12px; background: #e8f3f6; font-size: 14.5px !important; line-height: 1.6; color: #1f2f38; }
.cw-sec .cw-rate b { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--wp--preset--color--primary, #0b6f8f); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.cw-sec .cw-list { margin-top: 16px !important; margin-bottom: 0 !important; }
.cw-sec .cw-notes { list-style: none; margin-top: 16px !important; padding: 14px 18px !important; border: 1px solid #f1d8c4; border-radius: 12px; background: #fff7f0; }
.cw-sec .cw-notes li { position: relative; margin: 0 !important; padding-left: 1.3em; font-size: 14.5px; line-height: 1.75; color: #1f2f38; }
.cw-sec .cw-notes li + li { margin-top: 6px !important; }
.cw-sec .cw-notes li::before { content: "※"; position: absolute; left: 0; top: 0; color: #c0561a; font-weight: 800; }
.cw-sec .cw-notes li strong { color: #c0561a; }
@media (max-width: 781px) {
	.cw-sec .cw-ttl { font-size: 15px !important; }
	.cw-sec .cw-rate, .cw-sec .cw-notes li { font-size: 14px !important; }
	.cw-sec .cw-notes { padding: 12px 14px !important; }
}

/* 2026-10-09 一覧の上（名前・参考レート・絞り込み）の詰まりをゆるめる */
.cw-sec .cw-rate { margin-top: 14px !important; padding: 12px 18px; gap: 8px 12px; line-height: 1.7; }
.cw-sec .cw-list { margin-top: 22px !important; }
.cw-bar { gap: 12px 16px; margin-bottom: 14px; }
.cw-filters { gap: 8px; }
.cw-lab { margin-right: 6px; letter-spacing: .04em; }
.cw-filters button { padding: 10px 15px; letter-spacing: .02em; }
.cw-items { margin-top: 18px !important; }
@media (max-width: 781px) {
	.cw-sec .cw-rate { padding: 12px 14px; }
	.cw-filters button { padding: 9px 13px; }
}

/* 2026-10-09 スマホのカードの「詳細を見る」ボタン（coworking.js で追加）。PC では出さない。移動先は上に少し余白 */
.cw-more { display: none; }
.cw-spot, .dg-peek[id^="cw-spot-"] { scroll-margin-top: 16px; }
.cw-no { white-space: nowrap; }
@media (max-width: 781px) {
	.cw-item { grid-template-columns: 36px minmax(0, 1fr); }
	.cw-more { grid-column: 2; justify-self: start; display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; padding: 8px 16px; border: 1.5px solid var(--cw-c); border-radius: 999px; background: #fff; color: var(--cw-c); font-size: 14px; font-weight: 800; line-height: 1.3; text-decoration: none; }
	.cw-more::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
	.cw-more:hover, .cw-more:focus-visible { background: var(--cw-c); color: #fff; }
}

/* 2026-10-09 一覧の名前を目立たせる（見出しの飾りではなく、建物アイコン＋「全◯施設」のバッジ付きの題名） */
.cw-sec .cw-ttl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 18px !important; font-weight: 800; color: #0b6f8f; }
.cw-sec .cw-ttl::before { content: ""; flex: none; width: 36px; height: 36px; border-radius: 10px; background: #e8f3f6 center / 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6f8f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v16'/%3E%3Cpath d='M15 9h4a1 1 0 0 1 1 1v11'/%3E%3Cpath d='M2 21h20'/%3E%3Cpath d='M8 8h3M8 12h3M8 16h3'/%3E%3C/svg%3E"); }
.cw-sec .cw-count { display: inline-flex; align-items: center; padding: 3px 12px; border-radius: 999px; background: #c0561a; color: #fff; font-size: 12.5px; font-weight: 800; letter-spacing: .04em; line-height: 1.5; }
@media (max-width: 781px) {
	.cw-sec .cw-ttl { font-size: 16px !important; gap: 6px 10px; }
	.cw-sec .cw-ttl::before { width: 32px; height: 32px; background-size: 18px; }
}

/* 2026-10-09 スマホ：アイコンが1行を占めないよう、アイコン｜題名（その下にバッジ）の2列にする */
@media (max-width: 781px) {
	.cw-sec .cw-ttl { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: 6px 10px; }
	.cw-sec .cw-ttl::before { grid-row: 1 / span 2; }
	.cw-sec .cw-count { grid-column: 2; justify-self: start; }
}

/* 2026-10-09 「詳細を見る」の飛び先（施設の見出し）を画面の上端に少し余白をあけて止める */
.cw-jump { scroll-margin-top: 16px; }

/* 2026-10-09 スマホのカード（案C・余白広め）：番号は左上の角の丸バッジ、中身は横幅いっぱい、「詳細を見る」はカード下の帯 */
@media (max-width: 781px) {
	.cw-items { gap: 26px; margin-top: 28px !important; }
	.cw-item { position: relative; display: block; padding: 28px 20px 0; border-radius: 16px; }
	.cw-no { position: absolute; top: -13px; left: 16px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border-radius: 50%; background: var(--cw-c); color: #fff; font: 800 14px/1 sans-serif; box-shadow: 0 0 0 4px #fff; }
	.cw-body b { font-size: 18px; line-height: 1.45; }
	.cw-body small { margin-top: 6px; font-size: 13.5px; line-height: 1.65; }
	.cw-p { display: flex; flex-wrap: wrap; gap: 4px 22px; margin-top: 16px; font-size: 20px; line-height: 1.35; }
	.cw-p small { margin-right: 5px; font-size: 12.5px; }
	.cw-m { display: flex; justify-content: space-between; gap: 6px; margin-top: 18px; padding: 16px 4px; border-top: 1px dashed var(--cw-line); }
	.cw-mk { display: flex; align-items: center; gap: 6px; }
	.cw-mk small { font-size: 12.5px; }
	.cw-b { width: 24px; height: 24px; font-size: 12px; }
	.cw-more { display: flex; justify-content: center; box-sizing: border-box; width: calc(100% + 40px); max-width: none; margin: 0 -20px; padding: 16px; border: 0; border-top: 1px solid var(--cw-line); border-radius: 0 0 16px 16px; background: #f5fafb; font-size: 15px; }
}

/* 2026-10-09 カードのエリア・営業時間（coworking.js で分けたもの）。PC は「ハイチャウ区・平日：8時から18時 土日祝：休み」の1行のまま */
.cw-info .cw-area::after { content: "・"; }
.cw-info .cw-hl { display: inline; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; }
.cw-info .cw-hl::after { content: "："; }
.cw-info .cw-h + .cw-h::before { content: " "; }
@media (max-width: 781px) {
	/* スマホ：エリアは小さなラベル、営業時間は「曜日｜時間」の表で1行ずつ（最大3行） */
	.cw-body small.cw-info { margin-top: 10px; }
	.cw-info .cw-area { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--cw-c2); color: var(--cw-c); font-size: 12.5px; font-weight: 800; line-height: 1.6; }
	.cw-info .cw-area::after, .cw-info .cw-hl::after, .cw-info .cw-h + .cw-h::before { content: none; }
	.cw-info .cw-hrs { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; margin-top: 10px; font-size: 14px; line-height: 1.55; color: var(--cw-ink); }
	.cw-info .cw-h { display: contents; }
	.cw-info .cw-h > span:only-child { grid-column: 1 / -1; }
	.cw-info .cw-hl { font-weight: 700; color: var(--cw-mut); white-space: nowrap; }
}

/* 2026-10-09 カードの料金：（ ）の補足（.cw-pn）は小さく。スマホで2行になったら（.is-stack）ラベル列と金額列をそろえる */
.cw-p .cw-pv { display: inline; }
.cw-p .cw-pn { display: inline-block; margin-left: 4px; font-style: normal; white-space: nowrap; font-size: .72em; font-weight: 700; color: var(--cw-mut); }
@media (max-width: 781px) {
	.cw-p.is-stack { display: grid; grid-auto-flow: row; grid-template-columns: max-content minmax(0, 1fr); align-items: baseline; gap: 4px 12px; }
	.cw-p.is-stack > span { display: contents; }
	.cw-p.is-stack small { margin-right: 0; }
}

/* 2026-10-09 施設紹介の住所そのものを Google マップへのリンクに（.cw-addr）。単語の途中では折り返さない */
.cw-spot__tbl a.cw-addr { word-break: normal; overflow-wrap: anywhere; }
.cw-spot__tbl a.cw-addr::after { content: "↗"; margin-left: 4px; font-size: .85em; text-decoration: none; }

/* 2026-10-11：冒頭の枠（.cw-intro、案A）。地区の一覧と地図を左右に、点線の下に「コワーキングスペースとは？」。
   地区名の左の四角は地図の色（ハイチャウ 紺・ソンチャ 薄緑・グーハンソン 黄）。781px 以下は一覧 → 地図 → 説明の順に縦（columns の標準） */
.cw-intro .cw-intro__two { gap: 22px; }
.cw-intro .cw-intro__two .wp-block-column { min-width: 0; }
.cw-intro .cw-dist__h { display: flex; align-items: center; gap: 8px; margin: 0 0 4px !important; font-size: 15px; line-height: 1.5; }
.cw-intro .cw-dist__h::before { content: ""; flex: none; width: 14px; height: 14px; border-radius: 4px; border: 1px solid rgba(0, 0, 0, .08); background: var(--cw-dc, #1d5f82); }
.cw-intro .cw-dist__h--hc { --cw-dc: #1d5f82; }
.cw-intro .cw-dist__h--st { --cw-dc: #cfe6d9; }
.cw-intro .cw-dist__h--nh { --cw-dc: #f7c242; }
.cw-intro ul.cw-dist__ul { list-style: none; margin: 0 0 14px !important; padding: 0 !important; font-weight: 700; font-size: 14px; line-height: 1.75; }
.cw-intro ul.cw-dist__ul li { margin: 0 !important; padding: 0 0 0 1em !important; text-indent: -1em; }
.cw-intro ul.cw-dist__ul li::before { content: "・"; }
.cw-intro .cw-intro__map { margin: 0 !important; }
.cw-intro .cw-intro__map img { border-radius: 10px; }
.cw-intro .cw-intro__map figcaption { margin: 6px 0 0 !important; font-size: 12.5px; line-height: 1.6; color: var(--cw-mut); text-align: center; }
.cw-intro hr.cw-intro__sep { width: 100%; height: 0; margin: 22px 0 18px !important; border: 0; border-top: 1px dashed #c7d3d9; background: none; opacity: 1; }
.cw-intro .cw-intro__q { margin: 0 0 .6em !important; font-size: 16px; }
@media (max-width: 781px) {
	.cw-intro .cw-intro__two { gap: 14px; }
	.cw-intro ul.cw-dist__ul { margin-bottom: 12px !important; }
}

/* 2026-10-11 午後：PC でも各番号の下に「詳細を見る」（coworking.js が付ける .cw-more）。番号の列を 76px にして、番号とボタンを縦に並べる */
@media (min-width: 782px) {
	.cw-item { grid-template-columns: 76px minmax(0, 1fr) auto auto; row-gap: 6px; }
	.cw-no { grid-column: 1; grid-row: 1; align-self: end; }
	.cw-body, .cw-p, .cw-m { grid-row: 1 / span 2; }
	.cw-more { grid-column: 1; grid-row: 2; justify-self: start; align-self: start; display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border: 1.5px solid var(--cw-c); border-radius: 999px; background: #fff; color: var(--cw-c); font-size: 11px; font-weight: 800; line-height: 1.5; text-decoration: none; white-space: nowrap; }
	/* PC は番号の列が狭いので「詳細」の2文字で出す（文字は 0 にして ::before で表示。リンクの読み上げは「詳細を見る」のまま） */
	.cw-more { font-size: 0; }
	.cw-more::before { content: "詳細"; font-size: 11px; }
	.cw-more::after { content: ""; width: 5px; height: 5px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-1px) rotate(45deg); }
	.cw-more:hover, .cw-more:focus-visible { background: var(--cw-c); color: #fff; }
}

/* 2026-10-11 午後：PC の一覧の「エリア・営業時間」（coworking.js が .cw-area と .cw-h に分けたもの）をピルで並べる。
   例：[ハイチャウ区] [平日 8時から18時] [土日祝 休み]。「・」「：」の飾りはやめる */
@media (min-width: 782px) {
	.cw-body small.cw-info { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: 5px; }
	.cw-info .cw-hrs { display: contents; }
	.cw-info .cw-area, .cw-info .cw-h { display: inline-flex; align-items: center; gap: 5px; padding: 1px 9px; border-radius: 999px; font-size: 12px; line-height: 1.6; white-space: nowrap; }
	.cw-info .cw-area { background: var(--cw-c2); color: var(--cw-c); font-weight: 800; }
	.cw-info .cw-h { background: #f1f4f6; color: var(--cw-ink); font-weight: 700; }
	.cw-info .cw-h > span { white-space: normal; }
	.cw-info .cw-hl { display: inline; font-size: 11.5px; font-weight: 800; color: var(--cw-mut); }
	.cw-info .cw-area::after, .cw-info .cw-hl::after, .cw-info .cw-h + .cw-h::before { content: none; }
}

/* 2026-10-11 午後：地区の説明（.cw-zone、案D。※ cw-area は一覧の .cw-info .cw-area（エリア名のピル）と重なるので cw-zone に「雑誌の見開き」）。左：写真（cw-zone__photo。上に地区名 cw-zone__name、角に Google マップ cw-zone__inset、下に写真の説明 figcaption）、
   右：cw-zone__text（AREA GUIDE 01 → 要点 cw-zone__lead → 説明の段落）。781px 以下は写真 → 説明の縦並び */
.cw-zone { display: grid; grid-template-columns: 1.15fr .85fr; gap: 0; margin-top: 0 !important; margin-bottom: 28px !important; /* 左右の margin は本文の幅（auto）に任せる */ border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 14px 40px rgba(31, 47, 56, .10); }
.cw-zone__photo { position: relative; min-height: 420px; margin: 0 !important; }
.cw-zone__photo .cw-zone__img { position: absolute; inset: 0; margin: 0 !important; }
.cw-zone__photo .cw-zone__img img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.cw-zone__photo .cw-zone__img figcaption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0 !important; padding: 26px 14px 10px; padding-right: calc(46% + 28px); background: linear-gradient(transparent, rgba(10, 40, 55, .78)); color: #fff; font-size: 11.5px; line-height: 1.55; text-align: left; }
.cw-zone__photo .cw-zone__img figcaption strong { font-weight: 400; color: #fff; }
.cw-zone__name { position: absolute; left: 22px; top: 18px; margin: 0 !important; color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .5); font-size: 16px !important; font-weight: 800; line-height: 1.3; }
.cw-zone__name strong { display: block; font-size: 40px; font-weight: 900; letter-spacing: .03em; line-height: 1; color: #fff; }
.cw-zone__inset { position: absolute; right: 16px; bottom: 16px; width: 46%; margin: 0 !important; border-radius: 12px; overflow: hidden; border: 3px solid #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .25); background: #eef2f4; }
.cw-zone__inset .ds-map { margin: 0 !important; --map-radius: 0; }
.cw-zone__text { padding: 26px 26px 22px; margin: 0 !important; }
.cw-zone__text p { margin: 0 0 .9em !important; font-size: 14px !important; line-height: 1.85; color: #3a4a50; }
.cw-zone__text p:last-child { margin-bottom: 0 !important; }
.cw-zone__text p.cw-zone__eyebrow { margin: 0 !important; font-size: 11.5px !important; font-weight: 800; letter-spacing: .16em; color: var(--cw-c); }
.cw-zone__text p.cw-zone__lead { margin: 8px 0 12px !important; font-size: 16.5px !important; font-weight: 800; line-height: 1.6; color: var(--cw-ink); }
@media (max-width: 781px) {
	.cw-zone { grid-template-columns: 1fr; border-radius: 16px; }
	.cw-zone__photo { min-height: 300px; }
	.cw-zone__name { left: 16px; top: 14px; }
	.cw-zone__name strong { font-size: 32px; }
	.cw-zone__inset { width: 54%; right: 12px; bottom: 12px; }
	.cw-zone__photo .cw-zone__img figcaption { padding-right: calc(54% + 20px); }
	.cw-zone__text { padding: 18px 16px 16px; }
}

/* 2026-10-11 夕方：地区の説明（.cw-zone）を写真：文章＝1：1に、右の文字を大きく */
.cw-zone { grid-template-columns: 1fr 1fr; }
.cw-zone__photo { min-height: 460px; }
.cw-zone__text p { font-size: 15.5px !important; }
.cw-zone__text p.cw-zone__eyebrow { font-size: 12px !important; }
.cw-zone__text p.cw-zone__lead { font-size: 18.5px !important; }
.cw-zone__text { padding: 30px 30px 26px; }
@media (max-width: 781px) {
	.cw-zone { grid-template-columns: 1fr; }
	.cw-zone__photo { min-height: 300px; }
	.cw-zone__text p { font-size: 15px !important; }
	.cw-zone__text p.cw-zone__lead { font-size: 17px !important; }
	.cw-zone__text { padding: 18px 16px 16px; }
}

/* 2026-10-11 夕方：通訳料金のカード（.cw-fee）。移動方法の一覧の料金の札と同じ色づかい */
.cw-fee { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 18px !important; margin-bottom: 22px !important; }
.cw-fee__card { margin: 0 !important; padding: 18px 20px 16px; border-radius: 16px; background: #e8f3f6; border: 1px solid #d2e8ef; text-align: center; }
.cw-fee__card p { margin: 0 !important; }
.cw-fee__card p.cw-fee__lab { font-size: 11.5px !important; font-weight: 800; letter-spacing: .14em; color: var(--cw-mut); }
.cw-fee__card p.cw-fee__time { display: inline-block; margin: 6px 0 8px !important; padding: 2px 14px; border-radius: 999px; background: #0b6f8f; color: #fff; font-size: 14px !important; font-weight: 800; line-height: 1.7; }
.cw-fee__card p.cw-fee__price { font-size: 16px !important; font-weight: 800; color: var(--cw-ink); line-height: 1.2; }
.cw-fee__card p.cw-fee__price strong { font-size: 40px; font-weight: 900; color: #0b6f8f; letter-spacing: -.01em; margin-right: 2px; }
@media (max-width: 781px) {
	.cw-fee { gap: 10px; }
	.cw-fee__card { padding: 14px 10px 12px; }
	.cw-fee__card p.cw-fee__price strong { font-size: 32px; }
}

/* 2026-10-11 夕方：法人向けの案内（.cw-cta）。濃い青の帯に題名と導入、下に「プライベートオフィス」「バーチャルオフィス」の白いカード（中に記事へのボタン） */
.cw-cta { margin-top: 28px !important; margin-bottom: 32px !important; padding: 30px 28px 28px; border-radius: 22px; background: linear-gradient(135deg, #0f3d52 0%, #1d5f82 100%); color: #fff; }
.cw-cta > p { margin: 0 !important; text-align: center; color: #fff; }
.cw-cta p.cw-cta__eyebrow { font-size: 12px !important; font-weight: 800; letter-spacing: .2em; color: #ffe08a; }
.cw-cta p.cw-cta__ttl { margin: 6px 0 10px !important; font-size: 23px !important; font-weight: 900; line-height: 1.45; }
.cw-cta p.cw-cta__lead { font-size: 15px !important; line-height: 1.8; opacity: .92; }
.cw-cta__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 22px !important; }
.cw-cta__card { display: flex; flex-direction: column; margin: 0 !important; padding: 20px 20px 18px; border-radius: 16px; background: #fff; color: var(--cw-ink); box-shadow: 0 10px 26px rgba(0, 0, 0, .18); }
.cw-cta__card p { margin: 0 0 14px !important; font-size: 14.5px !important; line-height: 1.8; color: #3a4a50; }
.cw-cta__card p a { color: #0b6f8f; }
.cw-cta__card p.cw-cta__tag { align-self: flex-start; margin: 0 0 10px !important; padding: 2px 12px; border-radius: 999px; background: #e8f3f6; color: #0b6f8f; font-size: 12.5px !important; font-weight: 800; line-height: 1.7; }
.cw-cta__card .ds-btn-wrap { margin-top: auto !important; }
html body .wp-block-post-content .cw-cta__card .ds-btn-wrap .ds-btn { --ds-btn-fs: 14.5px; display: flex !important; align-items: center; justify-content: space-between !important; gap: 10px; width: 100%; min-height: 0 !important; padding: 12px 16px !important; border: 0 !important; border-radius: 12px !important; background: #0b6f8f !important; color: #fff !important; font-weight: 800; line-height: 1.55 !important; text-align: left !important; white-space: normal; box-shadow: none !important; } /* ボタンの共通指定（!important）より強く */
html body .wp-block-post-content .cw-cta__card .ds-btn-wrap .ds-btn::after { content: "→"; flex: none; font-size: 16px; }
html body .wp-block-post-content .cw-cta__card .ds-btn-wrap .ds-btn:hover { background: #085a74 !important; color: #fff !important; }
@media (max-width: 781px) {
	.cw-cta { padding: 24px 16px 18px; border-radius: 18px; }
	.cw-cta p.cw-cta__ttl { font-size: 19px !important; }
	.cw-cta__cards { grid-template-columns: 1fr; gap: 12px; }
	.cw-cta__card { padding: 16px 16px 14px; }
}

/* 2026-10-11 夜：エリア解説の次の目次（.cw-jumps）。そのエリアで紹介している施設の名前と、見出し（#cw-01〜）へのリンク。
   番号は ol の start から（一覧の番号と同じ）、01 の形で表示。PC は2列、781px 以下は1列 */
.cw-jumps { margin-top: -6px !important; margin-bottom: 30px !important; /* 左右は本文の幅に任せる */ padding: 18px 20px 16px; border: 1px solid var(--cw-line); border-radius: 16px; background: #f6fafb; }
.cw-jumps p.cw-jumps__ttl { margin: 0 0 10px !important; font-size: 14px !important; font-weight: 800; color: var(--cw-c); }
.cw-jumps p.cw-jumps__ttl span { margin-left: 4px; font-size: 12.5px; color: var(--cw-mut); }
.cw-jumps ol.cw-jumps__list { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
.cw-jumps ol.cw-jumps__list li { margin: 0 !important; padding: 0 !important; }
.cw-jumps ol.cw-jumps__list li::before { content: none; }
.cw-jumps ol.cw-jumps__list a { display: flex; align-items: center; gap: 10px; height: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid var(--cw-line); border-radius: 10px; background: #fff; color: var(--cw-ink); font-size: 14px; font-weight: 700; line-height: 1.45; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.cw-jumps ol.cw-jumps__list a::before { content: counter(list-item, decimal-leading-zero); flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--cw-c); color: #fff; font-size: 12px; font-weight: 800; }
.cw-jumps ol.cw-jumps__list a::after { content: ""; flex: none; margin-left: auto; width: 7px; height: 7px; border-right: 2px solid var(--cw-c); border-bottom: 2px solid var(--cw-c); transform: translateY(-2px) rotate(45deg); }
.cw-jumps ol.cw-jumps__list a:hover, .cw-jumps ol.cw-jumps__list a:focus-visible { border-color: var(--cw-c); box-shadow: 0 6px 16px -10px rgba(8, 90, 116, .6); }
[id^="cw-"].wp-block-heading { scroll-margin-top: 16px; }
@media (max-width: 781px) {
	.cw-jumps { padding: 14px 12px 12px; }
	.cw-jumps ol.cw-jumps__list { grid-template-columns: 1fr; }
}

/* 2026-10-11 夜：色の変数（--cw-c など）は .cw-list・.cw-spot にしか無かったので、エリア解説・料金カード・CTA・目次にも同じものを */
.cw-zone, .cw-fee, .cw-cta, .cw-jumps { --cw-c: var(--wp--preset--color--primary, #0b6f8f); --cw-c2: #e8f3f6; --cw-ink: #1f2f38; --cw-mut: #6b7a82; --cw-line: #dde6ea; --cw-acc: #c0561a; --cw-ok: #1a8f5a; }
