.tc-profile{width:100%;border-collapse:collapse;margin:0 0 1em}
.tc-profile th,.tc-profile td{border:1px solid #e3e3e3;padding:.5em .75em;text-align:left;vertical-align:top;font-size:.95em}
.tc-profile th{width:7em;background:#f7f5f8;white-space:nowrap}
.tc-source{font-size:.8em;color:#777}
.tc-current{margin:0 0 1.5em;padding-left:1.2em}
.tc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:0 0 1.5em}
.tc-card{display:block;color:inherit;text-decoration:none;border:1px solid #eee;border-radius:6px;overflow:hidden;background:#fff}
.tc-card:hover{box-shadow:0 2px 10px rgba(0,0,0,.12)}
.tc-thumb{aspect-ratio:3/4;background:#f3f0f4;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tc-thumb img{width:100%;height:100%;object-fit:cover}
.tc-noimg{color:#aaa;font-size:.85em}
.tc-card-title{font-weight:bold;font-size:.9em;padding:.5em .6em .2em;line-height:1.4}
.tc-card-meta{font-size:.75em;color:#888;padding:0 .6em .6em}
.tc-year{border-left:4px solid #c2185b;padding-left:.5em}
.tc-timeline{list-style:none;padding:0;margin:0 0 1em}
.tc-timeline li{padding:.45em 0;border-bottom:1px dashed #e5e5e5;line-height:1.6}
.tc-badge{display:inline-block;min-width:4.5em;text-align:center;font-size:.72em;padding:.1em .4em;margin-right:.5em;border-radius:3px;background:#888;color:#fff}
.tc-photobook{background:#c2185b}.tc-book{background:#7b1fa2}.tc-calendar{background:#00897b}.tc-program{background:#1565c0}.tc-career{background:#5d4037}.tc-appearance{background:#ef6c00}
.tc-when{font-size:.85em;color:#666;margin-right:.3em}
.tc-org{font-size:.85em;color:#666}
.tc-note{display:block;font-size:.85em;color:#777}
.tc-aff{display:flex;flex-direction:column;align-items:center;gap:16px;margin:0 0 1.5em}
.tc-aff-cover{width:300px;max-width:80%;margin:0 auto}
.tc-aff-cover img{width:100%!important;max-width:100%!important;height:auto!important;border:1px solid #eee;display:block;margin:0 auto}
.tc-aff-body{width:100%}
.tc-buy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:1em 0}
@media (max-width:600px){.tc-aff-cover{width:240px}.tc-buy{grid-template-columns:minmax(0,1fr);gap:8px}}
.tc-btn{display:block;text-align:center;padding:.8em 1em;border-radius:6px;font-weight:bold;color:#fff!important;text-decoration:none!important}
.tc-btn-dmm{background:#e8336f}.tc-btn-amazon{background:#ff9900}
.tc-btn:hover{opacity:.85}
.tc-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;max-width:560px;margin:0 auto 1em}
.tc-gallery>a{display:block;width:100%;min-width:0;line-height:0}
.tc-gallery>.tc-video{display:block;width:100%;min-width:0;line-height:0}.tc-gallery video{display:block;width:100%!important;max-width:100%!important;height:auto!important;margin:0!important;background:#000}
.tc-gallery img{display:block;width:100%!important;max-width:100%!important;height:auto!important;margin:0!important}
@media (max-width:600px){.tc-gallery{max-width:100%;gap:8px}}
.tc-back{display:inline-block;margin-top:1em}
.tc-appear{border:1px solid #e3e3e3;border-radius:6px;padding:.4em .9em;margin:0 0 1.5em}
.tc-appear summary{cursor:pointer;font-weight:bold;padding:.4em 0}
.tc-future{background:#d32f2f}.tc-tv{background:#1565c0}.tc-radio{background:#6a1b9a}.tc-web{background:#00838f}.tc-event{background:#ef6c00}.tc-handshake{background:#c2185b}.tc-magazine{background:#7b1fa2}.tc-stage,.tc-movie,.tc-drama{background:#5d4037}.tc-cm{background:#546e7a}.tc-role{background:#2e7d32}
/* トップページ */
.fp{--fp-accent:#e8336f;--fp-line:#eee;--fp-soft:#f7f5f8;display:flex;flex-direction:column;gap:28px}
.fp-hero{background:linear-gradient(135deg,#e8336f 0%,#ff8fb1 100%);color:#fff;border-radius:12px;padding:28px 24px}
.fp .fp-hero-lead{font-size:1.4em;font-weight:700;margin:0 0 8px;line-height:1.4;color:#fff;background:none;border:0;padding:0}
.fp .fp-hero-lead::before,.fp .fp-hero-lead::after{content:none}
.fp-hero-text{margin:0 0 16px;opacity:.95;font-size:.95em}
.fp-search{display:flex;gap:8px;max-width:560px}
.fp-search input{flex:1;min-width:0;border:0;border-radius:8px;padding:10px 14px;font-size:16px}
.fp-search button{border:0;border-radius:8px;padding:10px 18px;background:#fff;color:var(--fp-accent);font-weight:700;cursor:pointer}
.fp-cats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width:600px){.fp-cats ul{grid-template-columns:repeat(2,1fr)}}
.fp-cats a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border:1px solid var(--fp-line);border-radius:10px;background:#fff;text-decoration:none}
.fp-cats a:hover{border-color:var(--fp-accent)}
.fp-cat-name{font-weight:700;color:var(--fp-accent);white-space:nowrap}
.fp-cat-count{font-size:.8em;color:#777;white-space:nowrap}
.fp-head{display:flex;align-items:baseline;gap:12px;border-bottom:2px solid var(--fp-accent);margin-bottom:12px;padding-bottom:6px}
.fp .fp-head h2{margin:0;padding:0;font-size:1.2em;background:none;border:0;color:#333;box-shadow:none;border-radius:0}
.fp .fp-head h2::before,.fp .fp-head h2::after{content:none}
.fp-more{margin-left:auto;font-size:.85em;color:var(--fp-accent)!important;white-space:nowrap}
.fp-note{font-size:.8em;color:#777}
.fp-row,.fp-grid,.fp-events{list-style:none;margin:0;padding:0}
.fp-row{display:grid;grid-auto-flow:column;grid-auto-columns:150px;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.fp-row .fp-card{scroll-snap-align:start}
.fp-grid-wide{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.fp-card{position:relative;margin:0;padding:0}
.fp-card::before{content:none!important}
.fp-card a{display:block;color:inherit;text-decoration:none}
.fp-thumb{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:8px;background:var(--fp-soft)}
.fp-thumb.fp-wide{aspect-ratio:16/9}
.fp-thumb img,.fp-noimg{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center top}
.fp-card a:hover .fp-thumb img{opacity:.85}
.fp-badge{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.65);color:#fff;font-size:.72em;padding:2px 6px;border-radius:4px}
.fp-name{display:block;font-weight:700;font-size:.85em;margin-top:6px;color:var(--fp-accent)}
.fp-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.82em;line-height:1.45;margin-top:2px}
.fp-talent .fp-card-title{font-size:.9em;font-weight:700;-webkit-line-clamp:3}
.fp-meta{display:block;font-size:.75em;color:#888;margin-top:2px}
.fp-events li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dashed var(--fp-line);margin:0}
.fp-events li::before{content:none!important}
.fp-ev-date{flex:0 0 3.2em;font-weight:700;color:var(--fp-accent)}
.fp-events a{color:inherit;text-decoration:none;flex:1;min-width:0}
.fp-faq{border:1px solid var(--fp-line);border-radius:8px;margin-bottom:8px;background:#fff}
.fp-faq summary{cursor:pointer;padding:12px 14px;font-weight:700}
.fp-faq p{margin:0;padding:0 14px 12px;font-size:.92em;line-height:1.7}
@media (max-width:600px){.fp-hero{padding:20px 16px}.fp .fp-hero-lead{font-size:1.15em}.fp-row{grid-auto-columns:128px}.fp-grid-wide{grid-template-columns:1fr}}
/* カード内テキストの行数を固定（作品名2行・記事タイトル3行、名前・日付は1行） */
.fp-card-title{line-height:1.45;height:calc(1.45em * 2);-webkit-line-clamp:2}
.fp-talent .fp-card-title{height:calc(1.45em * 3);-webkit-line-clamp:3}
.fp-name,.fp-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp-row{align-items:start}
.tc-official-photo{width:300px;max-width:80%;margin:0 auto 1em;text-align:center}.tc-official-photo img{width:100%!important;max-width:100%!important;height:auto!important;border:1px solid #eee;display:block;margin:0 auto}@media (max-width:600px){.tc-official-photo{width:240px}}.tc-official-photo figcaption{font-size:.75em;color:#888;margin-top:.3em}
/* 固定ページの表（運営者情報など）をプロフィール表と同じ書式に */
.page .wp-block-table{margin:0 0 1em;overflow-x:auto}
.page .wp-block-table table{width:100%;border-collapse:collapse;table-layout:auto;border:0}
.page .wp-block-table th,.page .wp-block-table td{border:1px solid #e3e3e3!important;padding:.5em .75em;text-align:left;vertical-align:top;font-size:.95em;background:#fff}
.page .wp-block-table tr>:first-child{width:7em;background:#f7f5f8;white-space:nowrap;font-weight:700}
.tc-official-photo .tc-src{display:none}
