/* 公開ページの表示部品とページ固有の差分 */
.hero {padding:48px 0;background:radial-gradient(120% 90% at 85% 0%,rgba(212,175,106,.16),transparent 60%),var(--bg);border-bottom:1px solid var(--line)}
.hero h1 {font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.5}
.hero-lead {font-size:.7em;font-weight:500}
.hero-name {font-weight:700}
.page-title {font-size:clamp(1.65rem,3.2vw,2.2rem);line-height:1.65;letter-spacing:.025em;overflow-wrap:anywhere}
.page-title .hero-name {font-size:1em;font-weight:700;color:var(--text)}
.page-title .hero-lead {font-family:var(--font-body);font-size:.68em;font-weight:500;color:var(--muted);letter-spacing:.02em}
.page-title .hero-name+.hero-lead,.page-title .hero-lead+.hero-name {margin-left:.2em}
.page-title .glossary-total {display:inline-block;margin-left:.45em;font-family:var(--font-body);font-size:.55em;font-weight:400;letter-spacing:0}
.page-title.guide-title {align-items:baseline}
.page-title.guide-title>.guide-heading-icon {align-self:center}
.hero p {color:var(--muted)}
.notice-success {padding:12px 16px;border:1px solid var(--ok);border-radius:var(--radius)}
.ad-item {width:fit-content;max-width:100%;margin:0 auto}
.ad-item+.ad-item {margin-top:20px}
.ad-item:has(.ad-box) {width:100%;max-width:728px}
.ad-item>a {display:block}
.ad-item>a.ad-box {display:grid}
@media(max-width:600px) {
  .hero {padding:32px 0}
}
.sns-section {margin:36px 0}
.sns-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 16px;list-style:none;padding:0;margin:0}
.sns-card {min-width:0;text-align:center}
.sns-account-link {display:block;width:min(144px,100%);margin:12px auto;border-radius:50%;overflow:hidden}
.sns-account-link img {display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform .35s ease}
.sns-account-link:hover img,.sns-account-link:focus-visible img {transform:scale(1.06)}
.sns-name {position:relative;min-width:0}
.sns-name-trigger {display:block;width:100%;min-width:0;padding:5px 2px;border:0;background:transparent;color:var(--text);font:inherit;text-decoration:none;text-align:center;cursor:pointer}
.sns-name-trigger:disabled {opacity:1;cursor:default;color:var(--text)}
.sns-name-trigger[href] {color:var(--gold)}
.sns-name-text {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6}
.sns-name-space {display:block;height:calc(1.6em + 10px)}
.sns-name-full {position:absolute;top:100%;left:50%;width:max-content;max-width:min(260px,70vw);padding:12px 16px;z-index:20;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #0006;opacity:0;visibility:hidden;transform:translateX(-50%) translateY(-4px) scale(.96);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}
.sns-name.is-expanded .sns-name-full {opacity:1;visibility:visible;transform:translateX(-50%) translateY(0) scale(1);pointer-events:auto}
.sns-name-full a {color:var(--gold)}
.sns-name-trigger:focus-visible,.sns-account-link:focus-visible {outline:2px solid var(--gold);outline-offset:3px}
@media(min-width:1024px) {
  .sns-card:nth-child(6n+1) .sns-name-full {left:0;transform-origin:left top;transform:translateY(-4px) scale(.96)}
  .sns-card:nth-child(6n) .sns-name-full {left:auto;right:0;transform-origin:right top;transform:translateY(-4px) scale(.96)}
  .sns-card:nth-child(6n+1) .sns-name.is-expanded .sns-name-full,.sns-card:nth-child(6n) .sns-name.is-expanded .sns-name-full {transform:translateY(0) scale(1)}
}
@media(min-width:601px) and (max-width:1023px) {
  .sns-card:nth-child(4n+1) .sns-name-full {left:0;transform-origin:left top;transform:translateY(-4px) scale(.96)}
  .sns-card:nth-child(4n) .sns-name-full {left:auto;right:0;transform-origin:right top;transform:translateY(-4px) scale(.96)}
  .sns-card:nth-child(4n+1) .sns-name.is-expanded .sns-name-full,.sns-card:nth-child(4n) .sns-name.is-expanded .sns-name-full {transform:translateY(0) scale(1)}
}
@media(max-width:1023px) {
  .sns-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:600px) {
  .sns-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
  .sns-account-link {width:112px}
  .sns-name-full {max-width:calc(100vw - 48px)}
  .sns-card:nth-child(2n+1) .sns-name-full {left:0;transform-origin:left top;transform:translateY(-4px) scale(.96)}
  .sns-card:nth-child(2n) .sns-name-full {left:auto;right:0;transform-origin:right top;transform:translateY(-4px) scale(.96)}
  .sns-card .sns-name.is-expanded .sns-name-full {transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce) {
  .sns-account-link img,.sns-name-full {transition:none}
  .sns-account-link:hover img,.sns-account-link:focus-visible img {transform:none}
}
.guide-content h2,.guide-content h3 {scroll-margin-top:100px}
.guide-content h2 {margin-top:2.5rem}
.guide-content h3 {margin-top:1.8rem}
.guide-content ul,.guide-content ol,.glossary-sources ul {padding-left:1.5rem}
.guide-content li+li,.glossary-sources li+li {margin-top:.6rem}
.guide-toc h2 {margin-top:0}
.guide-card-image {display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.card:hover,.card:focus-within {transform:none}
.card:focus-visible {border-color:var(--gold);box-shadow:0 14px 30px #0008}
.shop-card .ph>span {transition:transform .45s ease}
@media(hover:hover) and (pointer:fine) {
  .shop-card:hover .ph>span {transform:scale(1.06)}
}
.shop-card:focus-visible .ph>span {transform:scale(1.06)}
.shop-card .card-body>p {color:var(--muted)}
@media(prefers-reduced-motion:reduce) {
  .shop-card .ph>span {transition:none}
  .shop-card:hover .ph>span,.shop-card:focus-visible .ph>span {transform:none}
}
.glossary-intro>span {display:inline-block;margin-right:.6em}
.glossary-filter {display:none;margin:24px 0}
.glossary-search {display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
.glossary-search .field {flex:1 1 200px;margin:0}
.glossary-search .btn {flex-shrink:0}
.glossary-initials {border:0;padding:0;margin:20px 0 0;min-width:0}
.glossary-initials legend {margin-bottom:10px}
.glossary-initials .chips {flex-wrap:wrap}
.glossary-entries {margin:0}
.glossary-group {margin:28px 0}
.glossary-group-heading {display:block;margin:0 0 12px;padding:12px 16px;border:1px solid var(--gold);border-radius:8px;background:var(--surface2);color:var(--gold-strong);font-size:1.15rem;scroll-margin-top:88px}
.glossary-entry,.glossary-columns {display:grid;grid-template-columns:minmax(100px,26%) minmax(0,1fr);gap:24px;padding:18px 16px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.glossary-columns {background:var(--surface);font-weight:700;border-top:1px solid var(--line)}
.glossary-entry {align-items:start}
.glossary-entry dt {margin:0;font-weight:700;line-height:1.8;scroll-margin-top:100px}
.glossary-entry dd {margin:0;line-height:1.8}
.glossary-sources {margin:24px 0;overflow-wrap:anywhere}
.glossary-sources summary {cursor:pointer}
@media(max-width:600px) {
  .glossary-entry {grid-template-columns:minmax(0,1fr);gap:6px;padding:18px 8px}
  .glossary-columns {display:none}
  .glossary-entries {border-top:1px solid var(--line)}
}
.guide-bottom-links {margin-top:32px}
.guide-illustration {max-width:480px;margin:24px auto 32px}
.guide-illustration img {display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line)}
.guide-illustration figcaption {margin-top:8px;color:var(--muted);font-size:.8rem;line-height:1.7}
.guide-article {line-height:1.95;overflow-wrap:anywhere}
.guide-article .guide-lead {margin:20px 0 28px;padding:18px 22px;border-left:3px solid var(--gold);border-radius:0 8px 8px 0;background:var(--surface);line-height:1.95}
.guide-article .guide-heading,.guide-title {display:flex;align-items:center;gap:12px}
.guide-article .guide-heading {margin:40px 0 20px;padding:14px 16px;border:0;border-left:3px solid var(--gold);border-radius:0 8px 8px 0;background:var(--surface2);font-size:1.25rem;line-height:1.6}
.guide-heading-icon {width:26px;height:26px;flex:0 0 26px;color:var(--gold)}
.guide-article>h3 {margin:28px 0 12px;font-size:1.05rem;line-height:1.8}
.guide-highlight {color:var(--text);font-weight:700;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:.25em;text-decoration-skip-ink:auto}
.guide-required-badge {display:inline-block;vertical-align:middle;margin-right:10px;padding:2px 8px;border-radius:4px;background:#523028;color:#f5c6b6;font:600 .8rem/1.6 var(--font-body);letter-spacing:.04em}
.guide-article .guide-illustration {max-width:640px;margin:28px auto;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.guide-article .guide-illustration img {border:0;border-radius:8px}
.guide-article .guide-illustration figcaption {display:flex;align-items:flex-start;gap:10px;margin:12px 4px 2px;font-size:.9375rem;line-height:1.8;color:var(--text)}
.guide-article .guide-illustration figcaption::before {content:'';flex:0 0 3px;align-self:stretch;border-radius:2px;background:var(--gold)}
.guide-urgency-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:24px 0 32px}
.guide-urgency {min-width:0;padding:20px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;background:var(--surface)}
.guide-urgency h3 {display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;font-size:1.05rem;line-height:1.7}
.guide-urgency h3 .icon {margin-top:3px}
.guide-urgency ul {margin:0;padding-left:1.25em}
.guide-urgency li {line-height:1.85}
.guide-urgency-immediate {border-color:#9e6455;background:#291b17}
.guide-urgency-immediate .icon {color:#f1b09a}
.guide-example-label {margin:20px 0 10px;font-size:.9375rem}
.guide-example-label strong {color:var(--muted)}
.guide-action-label {margin:22px 0 0;padding:12px 18px 0;border-left:3px solid var(--gold);border-radius:8px 8px 0 0;background:var(--surface)}
.guide-article .guide-action-label+ol {margin:0 0 24px;padding:12px 20px 18px 42px;border-left:3px solid var(--gold);border-radius:0 0 8px 8px;background:var(--surface)}
.guide-article .guide-action-label+ol li+li {margin-top:10px}
.guide-article .guide-question {display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;color:var(--text)}
.guide-question>span:first-child {color:var(--gold);font:700 1.25rem/1.5 var(--font-body);flex:0 0 24px}
.guide-question+p {margin:0 0 24px;padding:0 0 20px 36px;border-bottom:1px solid var(--line)}
.guide-article .final-checklist {background:var(--surface);border-color:#685336}
.guide-article .final-checklist .choice {background:var(--bg)}
.guide-article .final-checklist .choice:has(input:checked) {border-color:var(--gold);background:var(--surface2)}
.glossary-article .glossary-entry dt {padding-left:12px;border-left:2px solid var(--gold)}
@media(max-width:600px) {
  .guide-article .guide-lead {padding:16px}
  .guide-article .guide-heading {padding:12px;margin-top:32px;font-size:1.12rem;gap:10px}
  .guide-heading-icon {width:24px;height:24px;flex-basis:24px}
  .guide-article .guide-illustration {padding:10px}
  .guide-urgency {padding:16px}
  .guide-question+p {padding-left:0}
  .guide-article .guide-action-label+ol {padding-right:14px;padding-left:36px}
}
.glossary-total {font-size:.65em;color:var(--muted);white-space:nowrap}
.listing-section {margin-top:36px}
@media(max-width:767px) {
  .shop-category-tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible}
  .shop-category-tabs>a {display:flex;align-items:center;justify-content:center;min-width:0;min-height:64px;padding:10px 4px;font-size:clamp(.875rem,3.8vw,.9375rem);line-height:1.5;text-align:center}
  .shop-category-tabs .shop-tab-label>span {display:block}
  .shop-category-tabs .shop-tab-label>.shop-tab-separator {display:none}
}
.list-more {margin:28px 0 0}
.list-more .btn {min-width:180px;max-width:100%}
.category-tag {--category-color:#c9c3b9;border-color:var(--category-color);background:#211d19;color:var(--category-color);align-self:flex-start}
.category-tag.tag-hr {--category-color:#d4af6a}
.category-tag.tag-fz {--category-color:#c4b2ee}
.category-tag.tag-hs {--category-color:#9cd6ad}
.article-date {text-align:right;color:var(--muted);font-size:.9rem}
.ad-placement-A {max-width:728px;margin:28px auto}
.ad-placement-A .ad-items {overflow:hidden;border-radius:var(--radius)}
.ad-placement-A .ad-items.is-slider {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.ad-placement-A .ad-items::-webkit-scrollbar {display:none}
.ad-placement-A .ad-items.is-dragging {scroll-snap-type:none;cursor:grabbing;user-select:none}
.ad-placement-A .ad-items.is-settling {scroll-snap-type:none}
.ad-placement-A .ad-item {flex:0 0 100%;min-width:0;width:100%;margin:0;scroll-snap-align:start}
.ad-placement-A .ad-item>a {aspect-ratio:1200/628}
.ad-item>a {position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface)}
.ad-placement-A .ad-item img {pointer-events:none}
.ad-item .ad-label {position:absolute;top:4px;left:4px;z-index:1;margin:0;padding:2px 6px;border-radius:3px;background:#16120d99;color:#d0cbc3;font-size:10px;font-weight:400;line-height:1.4;pointer-events:none}
.ad-item>a.ad-recruit-banner {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 12px;border:1px solid var(--gold);background:radial-gradient(ellipse at top right,#85632c55,transparent 65%),var(--surface);color:var(--gold);text-align:center}
.ad-recruit-banner strong {font-size:1.4rem;letter-spacing:.12em}
.ad-recruit-caption {font-size:.8rem;color:var(--muted)}
.ad-recruit-banner:hover {border-color:var(--text)}
.ad-placement-A .ad-recruit-banner {flex-direction:row;gap:24px}
.ad-thumbnails {display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.ad-thumbnails button {width:100px;min-height:44px;padding:3px;border:2px solid var(--line);border-radius:6px;background:var(--surface);color:var(--gold);cursor:pointer}
.ad-thumbnails button[aria-pressed="true"] {border-color:var(--gold)}
.ad-thumbnails img {width:100%;height:40px;object-fit:contain}
.ad-recruit-thumb {font-size:.7rem}
.ad-placement-C .ad-items {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),300px));gap:16px;justify-content:center}
.ad-placement-C .ad-item,.ad-placement-H .ad-item {width:100%;max-width:300px;margin:0 auto}
.ad-placement-C .ad-item>a,.ad-placement-H .ad-item>a {aspect-ratio:320/100}
.ad-placement-H .ad-items {display:grid;gap:12px}
.ad-placement-H {margin-bottom:0}
@media(max-width:600px) {
  .ad-placement-A {max-width:100%}
  .ad-placement-A .ad-item>a {aspect-ratio:1200/628}
  .ad-placement-A .ad-recruit-banner {flex-direction:column;gap:2px;padding:24px 8px 6px}
  .ad-recruit-banner strong {font-size:1.2rem}
  .ad-placement-A .ad-recruit-banner strong {font-size:1.05rem;line-height:1.3}
  .ad-placement-A .ad-recruit-caption {font-size:.65rem;line-height:1.4}
  .ad-thumbnails button {width:56px}
  .ad-thumbnails img {height:32px}
  .ad-recruit-thumb {font-size:.6rem}
}
.article-editor-tools {display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}
.article-editor-tools button {padding:.45rem .7rem;border:1px solid var(--border, #bbb);border-radius:.35rem;background:transparent;color:inherit;cursor:pointer;font:inherit}
.article-editor {min-height:16rem;padding:1rem;border:1px solid var(--border, #bbb);border-radius:.4rem;overflow-wrap:anywhere}
.article-editor:focus-visible {outline:2px solid currentColor;outline-offset:2px}
.recruitment {max-width:960px;margin:0 auto}
.recruitment-lead {font-size:1.1rem;line-height:1.9}
.recruitment h2 {margin-top:40px}
.recruitment-panel {padding:24px;border:1px solid var(--line,#dedede);border-radius:16px;margin:16px 0}
.recruitment-panel h3 {margin-top:0}
.recruitment-example {position:relative;margin:20px auto;max-width:728px}
.recruitment-example img {display:block;width:100%;height:auto;border-radius:10px}
.recruitment-example-rectangle {max-width:300px}
.recruitment-example-card {max-width:640px}
.recruitment-example .ad-label {position:absolute;top:6px;left:8px;z-index:1}
.recruitment-sns {max-width:320px;margin:24px auto;text-align:center}
.recruitment-sns figcaption {font-size:.85rem;margin-top:16px}
.recruitment-cta {margin-top:40px;padding:24px;border:1px solid var(--gold,#d4af6a);border-radius:16px}
.recruitment-cta h2 {margin-top:0}
.recruitment-actions {display:flex;flex-wrap:wrap;gap:12px}
.recruitment .tabs {flex-wrap:wrap}
.recruitment .tabs [aria-current=page] {border-bottom:2px solid var(--gold,#d4af6a)}
@media(max-width:600px) {
  .recruitment-example-top {max-width:320px}
  .recruitment-panel,.recruitment-cta {padding:16px}
  .recruitment-actions .btn {width:100%;text-align:center}
}
.recruitment-comparison {overflow-x:auto;margin:24px 0}
.recruitment-comparison table {width:100%;table-layout:fixed;border-collapse:collapse}
.recruitment-comparison caption {text-align:left;font-weight:600;margin-bottom:12px}
.recruitment-comparison th,.recruitment-comparison td {padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.recruitment-comparison thead {background:var(--surface)}
.recruitment-comparison th:first-child {width:32%}
.recruitment-comparison th:nth-child(2) {width:18%}
.recruitment-comparison tbody th p {font-weight:400;font-size:.9rem;line-height:1.8}
.recruitment-price {font-weight:700;color:var(--gold);white-space:nowrap}
.recruitment-sample {margin:0 0 16px}
.recruitment-sample:last-child {margin-bottom:0}
.recruitment-sample img {display:block;width:100%;height:auto}
.recruitment-sample figcaption {font-size:.8rem;color:var(--muted);margin-top:6px}
@media(max-width:700px) {
  .recruitment-comparison table {min-width:620px}
  .recruitment-comparison th,.recruitment-comparison td {padding:12px 10px}
}
.shop-count-number {font-size:2rem;line-height:1.2;color:var(--gold);font-weight:700;margin-right:6px;vertical-align:baseline}
.ad-recruitment-options {display:grid;gap:20px;margin:24px 0}
.ad-recruitment-options .ad-recruitment-option {margin:0}
.ad-recruitment-option .ad-picker-heading h3 {margin:0;font-size:1rem;font-weight:700}
.recruitment .recruitment-lead {margin:0 0 32px;padding:20px 24px;border-left:3px solid var(--gold);background:var(--surface);font-size:1.05rem;line-height:2}
.recruitment>h2 {margin:40px 0 20px;font-size:1.3rem;line-height:1.65}
.recruitment-benefits {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.recruitment-benefits .recruitment-panel {min-width:0;margin:0;padding:24px;border-radius:12px;background:var(--surface)}
.recruitment-benefits h3 {display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:1.1rem;line-height:1.7;color:var(--gold)}
.recruitment-benefit-icon {display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px}
.recruitment-benefit-icon svg {display:block;flex-shrink:0;width:28px;height:28px}
.recruitment-benefits p {margin:0;font-size:1rem;line-height:1.95;overflow-wrap:anywhere}
.recruitment-benefits p+p {margin-top:14px}
.recruitment-highlight {color:var(--text);font-weight:700;text-decoration-line:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:.25em;text-decoration-skip-ink:auto}
.recruitment-benefits .recruitment-benefit-note {padding-top:12px;border-top:1px solid var(--line);font-size:.9375rem}
.recruitment-steps {margin:0 0 24px;padding:0 0 0 36px;list-style:decimal-leading-zero}
.recruitment-steps li {margin:0;padding:18px 0 18px 12px;border-bottom:1px solid var(--line)}
.recruitment-steps li:first-child {padding-top:4px}
.recruitment-steps li::marker {color:var(--gold);font-size:1.15rem;font-weight:700}
.recruitment-steps strong {font-size:1.05rem}
.recruitment-steps p {margin:6px 0 0;line-height:1.85}
.recruitment-note {padding:18px 20px;border-radius:8px;background:var(--surface);font-size:.9375rem;line-height:1.85}
.recruitment-note p {margin:0}
.recruitment-note p+p {margin-top:8px}
.recruitment-note-spaced {margin-top:24px}
.recruitment [id] {scroll-margin-top:20px}
.recruitment-benefits ul {margin:0 0 14px;padding-left:1.4em;line-height:1.95}
.recruitment .recruitment-sns {border-radius:12px;background:var(--surface)}
@media(max-width:600px) {
  .recruitment .recruitment-lead {padding:16px 18px;font-size:1rem}
  .recruitment>h2 {font-size:1.2rem;margin-top:32px}
  .recruitment-benefits {gap:16px}
  .recruitment-benefits .recruitment-panel {padding:20px}
  .recruitment-note {padding:16px}
}
.ad-placement-A .ad-item>a.ad-recruit-top {flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;padding:36px 48px;text-align:left;background:radial-gradient(ellipse at 95% 10%,#ad82465c,transparent 65%),linear-gradient(120deg,#38271a,#17120e);border-color:#b99355}
.ad-recruit-top::before {content:'';position:absolute;right:-15%;top:-65%;width:80%;aspect-ratio:1;border:1px solid #d4af6a55;border-radius:50%;box-shadow:0 0 0 28px #d4af6a0a;pointer-events:none}
.ad-placement-A .ad-recruit-top strong {position:relative;font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.35;letter-spacing:.025em;color:#fff0d5}
.ad-recruit-top strong>span {display:block}
.ad-recruit-copy {position:relative;font-size:1rem;color:#d9c5a6;line-height:1.6}
.ad-recruit-cta {position:relative;display:inline-flex;align-items:center;gap:24px;padding:12px 22px;border-radius:999px;background:#e1bd7d;color:#2c2016;font-size:.95rem;font-weight:700;line-height:1.3}
.ad-recruit-top:hover .ad-recruit-cta {background:#f0d29a}
@media(max-width:600px) {
  .ad-placement-A .ad-item>a.ad-recruit-top {padding:14px 20px;gap:6px}
  .ad-placement-A .ad-recruit-top strong {font-size:clamp(1.15rem,5.3vw,1.8rem)}
  .ad-recruit-copy {font-size:clamp(.625rem,2.9vw,.85rem)}
  .ad-recruit-cta {padding:8px 14px;font-size:.75rem;gap:16px}
}
.report-search {margin-bottom:32px}
.news-tags {position:absolute;top:10px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:calc(100% - 20px)}
.card--listing .news-tags .category-tag {position:static;align-self:flex-end;max-width:100%}
.category-tag.tag-hr {background:#44351c;color:#ffe1a2;border-color:#b9944b}
.category-tag.tag-fz {background:#392b4d;color:#e3d0ff;border-color:#a28abb}
.category-tag.tag-hs {background:#203f30;color:#b8edc9;border-color:#78aa88}
.shop-profile>.shop-title {margin-top:0;text-align:left}
.shop-display-name {margin:0 0 24px;text-align:right;font-size:clamp(1.25rem,2.5vw,1.8rem);font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.shop-visual {position:relative;margin:0;padding-bottom:0}
.shop-cover {display:block;width:100%;height:auto;aspect-ratio:1200/628;object-fit:cover;border-radius:12px}
.shop-logo {display:block;width:112px;height:112px;object-fit:cover;border:5px solid var(--bg);border-radius:50%;background:var(--surface);margin:20px 0 0}
.shop-cover+.shop-logo {position:relative;margin:-68px 0 0 24px}
.shop-introduction {margin:24px 0 32px;line-height:1.95;max-width:none;overflow-wrap:anywhere}
.registration-status {display:inline-block;padding:4px 14px;border-radius:6px;background:var(--surface);border:1px solid var(--line)}
.registration-status.is-verified {background:#203f30;color:#b8edc9;border-color:#78aa88}
.shop-casts {display:flex;flex-wrap:wrap;gap:24px;list-style:none;padding:0}
.shop-casts a {display:flex;flex-direction:column;align-items:center;gap:8px}
.shop-casts small {color:var(--muted)}
.article-detail {width:100%}
.article-cover {display:block;width:100%;height:auto;object-fit:cover;aspect-ratio:1200/628;border-radius:12px}
.article-source {margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.article-source h2 {margin-top:0;font-size:1.2rem}
.article-source dl>div {display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:10px 0}
.article-source dd {margin:0;overflow-wrap:anywhere}
.article-source dt {color:var(--muted)}
.article-supplement {margin:32px 0}
.article-supplement>h2 {margin-top:0;padding-bottom:14px;border-bottom:1px solid var(--line)}
.article-supplement>.prose>:last-child {margin-bottom:0}
.report-action {margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.report-action .btn {display:inline-flex;align-items:center;gap:8px}
.association-list {list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.association-list li {margin:0;border-bottom:1px solid var(--line)}
.association-list a {display:grid;grid-template-columns:100px 90px minmax(0,1fr) 20px;gap:16px;align-items:center;padding:20px 8px;text-decoration:none}
.association-list time {color:var(--muted);font-size:.9rem}
.notice-kind {font-size:.75rem;border:1px solid var(--line);padding:4px 8px;text-align:center;border-radius:5px}
.notice-title {line-height:1.7}
.notice-arrow {color:var(--gold)}
.association-list a:hover .notice-title {text-decoration:underline;text-underline-offset:4px}
.shop-count-number [data-shop-count] {display:none;min-width:1ch;font-variant-numeric:tabular-nums}
@media(max-width:600px) {
  .shop-cover+.shop-logo {width:88px;height:88px;margin:-48px 0 0 16px}
  .article-source {padding:18px}
  .article-source dl>div {grid-template-columns:1fr;gap:4px}
  .association-list a {grid-template-columns:100px minmax(0,1fr) 20px;gap:8px 12px;padding:18px 4px}
  .notice-kind {justify-self:start}
  .notice-title {grid-column:1/3;grid-row:2}
  .notice-arrow {grid-column:3;grid-row:1/3}
}
@media(max-width:600px) {
  .report-search {margin-bottom:24px}
}
.report-action .btn {max-width:100%;white-space:normal;text-align:center}
.article-source dt,.article-source dd {margin:0;padding:0;align-self:start;line-height:1.8;min-width:0}
.article-source dl {margin:0}
.article-source dl>div+div {border-top:1px solid var(--line)}
.article-publisher {margin:20px 0 28px;text-align:right}
.article-publisher a {display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:6px}
.association-list a {grid-template-columns:100px 130px minmax(0,1fr) 20px}
@media(max-width:600px) {
  .association-list a {grid-template-columns:100px minmax(0,1fr) 20px}
}
.article-state {display:inline-block;margin-right:10px;padding:2px 8px;font-size:.8rem;color:var(--gold);border:1px solid var(--line);border-radius:4px}
.sns-grid {gap:16px 12px}
.sns-grid>.sns-card {position:relative;min-width:0;margin:0;padding:12px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.sns-grid .sns-name-trigger {font-size:.85rem;padding:4px 0}
.sns-grid .sns-name-space {height:calc(1.36rem + 8px)}
.sns-shop-logo {position:absolute;left:-4px;bottom:-4px;z-index:1;display:block;width:32px;height:32px;border:2px solid var(--surface);border-radius:50%;background:var(--surface);overflow:hidden}
.sns-shop-logo img {display:block;width:100%;height:100%;object-fit:contain}
.sns-platform {position:absolute;right:-4px;bottom:-4px;z-index:1;display:grid;place-items:center;width:26px;height:26px;border:2px solid var(--surface);border-radius:50%;font-size:.68rem;font-weight:700;line-height:1;background:var(--bg);color:var(--text)}
.sns-platform-x {background:#171717;color:#fff}
.sns-platform-youtube {background:#a92432;color:#fff}
.sns-platform-instagram {background:#8b3768;color:#fff}
.sns-platform-other {background:#564735;color:#fff}
.sns-shop-logo:focus-visible {outline:2px solid var(--gold);outline-offset:3px}
.sns-grid>.sns-card:focus-within,.sns-grid>.sns-card:has(.sns-name.is-expanded) {z-index:2}
@media(max-width:600px) {
  .sns-grid {gap:12px}
  .sns-grid>.sns-card {padding:10px 8px}
  .sns-shop-logo {width:28px;height:28px}
  .sns-platform {width:24px;height:24px}
}
.sns-platform>span {display:block;transform:translateY(-1px)}
.sns-report .sns-name-trigger {display:block;overflow-wrap:anywhere}
.sns-report .sns-report-button {margin-top:12px;padding:8px 12px;font-size:.85rem}
.sns-report .sns-grid {grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}
.sns-report .sns-card {max-width:220px}
.report-news-row {display:grid;grid-template-columns:7em minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.report-news-row time {font-size:.85rem;color:var(--muted)}
.report-news-row strong {overflow-wrap:anywhere}
.report-news-row .btn {padding:8px 14px;white-space:nowrap}
.sns-heading-actions {display:flex;align-items:center;gap:18px;flex-wrap:wrap}
@media(max-width:600px) {
  .report-news-row {grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
  .report-news-row time {grid-column:1/-1}
  .sns-report .sns-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .sns-heading-actions {gap:12px}
}
.sns-grid>.sns-card[hidden] {display:none}
.sns-directory-search {display:block;width:100%;max-width:640px;margin:0}
.sns-directory-search input {display:block;width:100%;margin-top:8px}
.notice-kind-shop {background:#203f30;border-color:#78aa88;color:#b8edc9}
.notice-kind-article {background:#243951;border-color:#86a9ce;color:#c9e4ff}
.notice-kind-sns {background:#392b4d;border-color:#a28abb;color:#e3d0ff}
.notice-kind-rss {background:#4b3323;border-color:#be946f;color:#ffdbad}
.notice-kind-association {background:#44351c;border-color:#b9944b;color:#ffe1a2}
.daily-updates {list-style:none;margin:24px 0;padding:0;border-top:1px solid var(--line)}
.daily-updates li {margin:0;border-bottom:1px solid var(--line)}
.daily-updates a {display:grid;grid-template-columns:4em 130px minmax(0,1fr) 20px;gap:16px;align-items:center;padding:18px 8px;text-decoration:none}
.daily-updates time {font-size:.9rem;color:var(--muted);font-variant-numeric:tabular-nums}
.daily-update-title {line-height:1.8;overflow-wrap:anywhere}
.daily-updates a:hover .daily-update-title,.daily-updates a:focus-visible .daily-update-title {text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px) {
  .daily-updates a {grid-template-columns:4em minmax(0,1fr) 20px;gap:8px 12px;padding:16px 4px}
  .daily-updates .notice-kind {justify-self:start}
  .daily-update-title {grid-column:1/3;grid-row:2}
  .daily-updates .notice-arrow {grid-column:3;grid-row:1/3}
}
.notice-labels {display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.notice-labels .notice-kind {width:100%;box-sizing:border-box}
.notice-kind-hr {background:#44351c;border-color:#b9944b;color:#ffe1a2}
.notice-kind-hr>span {display:block}
.notice-kind-fz {background:#392b4d;border-color:#a28abb;color:#e3d0ff}
.notice-kind-hs {background:#203f30;border-color:#78aa88;color:#b8edc9}
@media(max-width:600px) {
  .notice-labels {justify-self:start}
}
.notice-kind-update {background:#243951;border-color:#86a9ce;color:#c9e4ff}
.sns-directory-filters {display:grid;gap:20px;margin:0}
.sns-directory-filters fieldset {border:0;padding:0;margin:0;min-width:0}
.sns-directory-filters legend {font-size:1rem;font-weight:600;color:var(--gold);padding:0;margin-bottom:8px}
.sns-directory-search>span {font-size:1rem;font-weight:600;color:var(--gold)}
.shop-fields-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:640px}
.shop-fields-row .field {min-width:0}
.shop-fields-row input,.shop-fields-row select {width:100%;min-width:0;box-sizing:border-box}
.shop-social-links {min-width:0;margin:24px 0;padding:16px;border:1px solid var(--line);border-radius:8px}
.shop-social-row {display:grid;grid-template-columns:minmax(90px,140px) minmax(0,1fr) auto;gap:10px;align-items:center;margin:12px 0}
.shop-social-row select,.shop-social-row input {min-width:0;width:100%;box-sizing:border-box}
.shop-social-row .btn {padding:8px 12px}
.social-links {display:flex;flex-wrap:wrap;align-items:center;gap:12px;list-style:none;margin:0;padding:0}
.social-link {display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;text-decoration:none}
.social-link svg {display:block;width:26px;height:26px}
.social-link:hover {filter:brightness(1.2)}
.social-link:focus-visible {outline:2px solid var(--gold);outline-offset:4px}
.sns-platform-tiktok {background:#171717;color:#fff}
.sns-platform-line {background:#087e36;color:#fff}
@media(max-width:480px) {
  .shop-fields-row {gap:10px}
  .shop-social-links {padding:10px}
  .shop-social-row {grid-template-columns:94px minmax(0,1fr) auto;gap:6px}
  .shop-social-row .btn {padding:8px}
}
.cast-profile {margin:0 0 32px;text-align:left}
.cast-profile-grid {display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:36px}
.cast-profile-avatar {position:relative;width:200px;margin:0 0 12px}
.cast-profile-image {display:block;width:200px;height:200px;margin:0;border-radius:50%;object-fit:cover;border:5px solid var(--line)}
.cast-profile-shop-logo {position:absolute;left:0;bottom:-6px;display:block;width:56px;height:56px;border:3px solid var(--bg);border-radius:50%;overflow:hidden;background:var(--surface)}
.cast-profile-shop-logo img {display:block;width:100%;height:100%;object-fit:cover}
.cast-profile-shop-logo:focus-visible {outline:2px solid var(--gold);outline-offset:3px}
.cast-profile-details {min-width:0;text-align:left}
.cast-profile-name {margin:0 0 16px;font-size:1.5rem;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.cast-profile-details>h2 {margin-top:24px}
.cast-profile-details>:first-child {margin-top:0}
.cast-title>.category-tag {display:block;width:fit-content;font-family:var(--font-body);font-size:.875rem;font-weight:500;line-height:1.6;margin-bottom:12px;padding:4px 12px}
.cast-shop-name {font-weight:600;overflow-wrap:anywhere}
.cast-introduction {text-align:left;line-height:1.95;overflow-wrap:anywhere;margin:32px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.cast-introduction>h2 {margin-top:0}
.cast-report-action {justify-content:flex-end;border-top:0;padding-top:0}
@media(max-width:600px) {
  .cast-profile-grid {grid-template-columns:1fr;gap:24px}
  .cast-profile-avatar {margin:0 auto 12px}
  .cast-profile-image {width:160px;height:160px}
  .cast-profile-avatar {width:160px}
  .cast-profile-shop-logo {width:48px;height:48px}
}
.cast-social-list {list-style:none;padding:0;display:grid;gap:12px;text-align:left}
.cast-social-list li {min-width:0}
.cast-social-list a {display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px}
.cast-social-list a>span:nth-child(2) {min-width:0;flex:1}
.cast-social-list small {display:block;overflow-wrap:anywhere;color:var(--muted)}
.cast-social-icon {display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;font-weight:700}
.shop-profile-heading {display:flex;align-items:center;gap:20px;margin:20px 0}
.shop-profile-heading h3 {margin:0;min-width:0;font-size:1.35rem;overflow-wrap:anywhere}
.shop-profile-icon {width:96px;height:96px;flex:0 0 96px;object-fit:cover;border:5px solid var(--bg);border-radius:50%;background:var(--surface)}
@media(max-width:600px) {
  .shop-profile-heading {gap:14px}
  .shop-profile-icon {width:72px;height:72px;flex-basis:72px}
  .shop-profile-heading h3 {font-size:1.15rem}
}
.shop-edit-heading .visibility-control {flex:0 0 auto;margin:0}
.shop-edit-heading .sns-toggle {display:flex;margin:0}
.shop-edit-navigation {display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:0 0 28px}
.shop-edit-navigation .management-local-nav {margin:0}
.shop-edit-navigation .shop-public-link {margin-left:auto;white-space:nowrap}
.shop-social-row {grid-template-columns:minmax(90px,140px) minmax(0,1fr) 48px}
.shop-social-row button[data-social-remove] {display:grid;place-items:center;align-self:center;box-sizing:border-box;width:48px;min-width:48px;max-width:48px;height:48px;min-height:48px;max-height:48px;margin:0;padding:0;border-radius:8px;font-size:1.4rem;line-height:1}
@media(max-width:480px) {
  .shop-social-row {grid-template-columns:94px minmax(0,1fr) 48px}
  .shop-edit-heading {gap:10px}
}
@media(max-width:600px) {
  .shop-edit-heading .visibility-control {align-self:flex-end;max-width:100%}
}
.shop-edit-heading .sns-heading-actions {flex:0 0 auto;flex-wrap:nowrap}
.shop-edit-heading .sns-heading-actions .delete-control {margin:0}
@media(max-width:600px) {
  .shop-edit-heading .sns-heading-actions {align-self:flex-end;max-width:100%}
}
.shop-edit-heading .sns-heading-actions .visibility-control {align-self:center}
.association-list a,.daily-updates a {grid-template-columns:10.5em 130px minmax(0,1fr) 20px}
.association-list time,.daily-updates time {white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:600px) {
  .association-list a,.daily-updates a {grid-template-columns:minmax(0,1fr) auto 20px}
  .association-list time,.daily-updates time {grid-column:1/3;grid-row:1}
  .association-list .notice-kind,.daily-updates .notice-kind {grid-column:1/3;grid-row:2}
  .association-list .notice-title,.daily-updates .daily-update-title {grid-column:1/3;grid-row:3}
  .association-list .notice-arrow,.daily-updates .notice-arrow {grid-column:3;grid-row:1/4}
}
.shop-registration.is-verified {background:#203f30;color:#b8edc9;border-color:#78aa88}
.shop-registration.is-unverified,.registration-status:not(.is-verified) {background:#4b1d2b;color:#f3bdc8;border-color:#a65770}
.external-site-link {display:flex;flex-direction:column;gap:6px;max-width:100%;padding:16px 24px;text-align:center;white-space:normal;min-width:0}
.external-site-link>span {max-width:100%;overflow-wrap:anywhere}
.article-detail .report-action {justify-content:flex-end}
.page-title-shop-icon {display:block;width:72px;height:72px;flex:0 0 72px;object-fit:cover;border:5px solid var(--bg);border-radius:50%;background:var(--surface)}
.page-title-text {min-width:0}
@media(max-width:600px) {
  .page-title-shop-icon {width:56px;height:56px;flex-basis:56px}
}
.shop-visual-category {position:absolute;top:16px;right:16px;max-width:calc(100% - 32px);padding:3px 12px 5px;line-height:1.5;box-shadow:0 2px 8px #0005}
.shop-category-fallback {margin:0 0 12px}
@media(max-width:600px) {
  .shop-visual-category {top:12px;right:12px;max-width:calc(100% - 24px)}
}
@media(max-width:600px) {
  .external-site-link {width:100%;padding:16px}
}
.article-category-labels {display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.association-news-categories {display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.association-news-categories>.choice {width:auto;margin:0}
.article-image-composite {position:relative;display:block;width:100%;aspect-ratio:1200/628;overflow:hidden}
.article-image-slice {position:absolute;display:block;overflow:hidden}
.article-image-slice>img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.article-image-composite>.article-image-slice>img {position:absolute;left:-50%;top:0;width:200%;height:100%;max-width:none}
.article-image-composite.image-parts-3>.article-image-slice:nth-child(3)>img {left:0;top:-25%;width:100%;height:150%}
.article-image-divider {position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.article-image-divider path {fill:none;stroke:#17120f;stroke-opacity:.8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.report-shop-row{grid-template-columns:minmax(0,1fr) auto}
.report-shop-row.report-selected{grid-template-columns:minmax(0,1fr)}
.report-news-row strong{min-width:0;line-height:1.7}

.notice-title .notice-source-label{display:inline-block;margin-inline-start:.65em;padding:.1em .45em;border:1px solid var(--line);border-radius:3px;color:var(--muted);font-size:.72em;font-weight:400;line-height:1.4;vertical-align:middle;white-space:nowrap}

.operator-edit{display:flex;justify-content:flex-end;margin:0 0 16px}
.operator-edit .btn{min-height:38px;padding:6px 16px;gap:8px;font-size:.85rem}

[data-push-settings] .btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
[data-push-settings] .btn.is-sending{opacity:1;cursor:wait}
[data-push-settings] .is-sending::before{content:"";display:inline-block;vertical-align:middle;width:1em;height:1em;margin-right:.5em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:submit-progress-spin 1s linear infinite}
[data-push-test-hint]{color:var(--muted);font-size:.85rem;text-align:center}
.push-result{padding:16px;border:1px solid var(--gold);border-radius:8px;background:var(--surface);text-align:center;overflow-wrap:anywhere}
.push-result.form-error{border-color:#a65c67;background:#54262f;color:#ffdce2}
@media(prefers-reduced-motion:reduce){[data-push-settings] .is-sending::before{animation:none}}

.cast-directory-heading .page-title {flex:1;min-width:0;margin:0}
.js .sns-filter-panel[data-active="false"] {display:none}

.glossary-group-head {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.glossary-group-head>.btn {flex:none}

/* 年齢確認の長い選択肢は、横並びでも文字を折り返さない。 */
#pop-age .pop-panel{max-width:560px}
#pop-age .pop-actions{grid-template-columns:1fr}
@media(min-width:600px){
 #pop-age .pop-actions{grid-template-columns:1fr 1fr}
 #pop-age .pop-actions .btn{padding-inline:16px;white-space:nowrap}
}
