/*
 * テーマ（トップ）と静的ページ（tech・newgrad）で共通の部品のスタイル。
 * 正本はこのファイル（src/shared/fk-shared.css）。npm run build で
 *   theme/firekids_recruit/assets/css/fk-shared.css
 *   dist/<page>/assets/fk-shared.css
 * にコピーされる。各ページの既存CSSとぶつからないよう、クラス名は fk- で始める。
 */

/* ============================================================
   数字で知るファイアーキッズ（.fk-numbers）
   デザイン: design/numbers-reference.html / データ: data/numbers.yml
   ============================================================ */
.fk-numbers{
	--fkn-bg:#F7F5F3;
	--fkn-card:#FFFFFF;
	--fkn-ink:#2A2224;
	--fkn-muted:#8A7F80;
	--fkn-line:#ECE6E3;
	--fkn-wine:#8E1B2E;
	--fkn-wine-soft:#E9D7DA;
	--fkn-f-num:"Cormorant Garamond","Times New Roman",serif;
	--fkn-f-mincho:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
	--fkn-f-sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
	display:block;
	margin:0;
	padding:0;
	background:var(--fkn-bg);
	color:var(--fkn-ink);
	font-family:var(--fkn-f-sans);
	font-size:14px;
	font-weight:400;
	line-height:1.7;
	letter-spacing:normal;
	text-align:left;
}
.fk-numbers *,.fk-numbers *::before,.fk-numbers *::after{box-sizing:border-box}
/* ページ側の要素指定（例: テーマの p,li,th,td,a,span,div{font-family:…}）を打ち消す。:where() で詳細度を上げず、下のクラス指定が優先される */
.fk-numbers :where(div,span,p,a,b,em,article){font-family:inherit;letter-spacing:inherit}
.fk-numbers__inner{max-width:1120px;margin:0 auto;padding:64px 20px}
.fk-numbers__head{text-align:center;margin:0 0 40px}
.fk-numbers__label{margin:0;padding:0;font-family:var(--fkn-f-mincho);font-size:13px;font-weight:500;line-height:1.7;letter-spacing:.2em;color:var(--fkn-wine)}
.fk-numbers__title{margin:4px 0 0;padding:0;border:0;background:none;font-family:var(--fkn-f-num);font-weight:600;font-size:clamp(34px,4vw,44px);line-height:1.2;letter-spacing:.08em;color:var(--fkn-wine);text-transform:none}
.fk-numbers__title::before,.fk-numbers__title::after{content:none}
.fk-numbers__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0}
.fk-numbers__card{background:var(--fkn-card);border:1px solid var(--fkn-line);border-radius:4px;padding:26px 22px 22px;margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;min-width:0;box-shadow:none}
.fk-numbers__card-title{margin:0;padding:0 0 10px;width:100%;border:0;border-bottom:1px solid var(--fkn-wine-soft);background:none;font-family:var(--fkn-f-mincho);font-weight:500;font-size:15px;line-height:1.7;letter-spacing:.12em;color:var(--fkn-ink)}
.fk-numbers__num{margin:0;font-family:var(--fkn-f-num);font-weight:600;font-size:60px;line-height:1;letter-spacing:normal;color:var(--fkn-wine);font-variant-numeric:lining-nums}
.fk-numbers__prefix,.fk-numbers__unit{font-family:var(--fkn-f-mincho);font-weight:500;font-size:15px;color:var(--fkn-ink)}
.fk-numbers__prefix{margin:0 4px 0 0}
.fk-numbers__unit{margin:0 0 0 3px}
.fk-numbers__sub{margin:0;font-size:11.5px;line-height:1.6;color:var(--fkn-muted)}
.fk-numbers__body{margin:0;font-size:12px;line-height:1.75;color:var(--fkn-ink);text-align:left}
.fk-numbers__body--center{text-align:center}
.fk-numbers__ring{position:relative;width:120px;height:120px;flex:none}
.fk-numbers__ring svg{display:block;width:100%;height:100%;overflow:visible}
.fk-numbers__ring-in{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--fkn-f-num);font-weight:600;font-size:30px;line-height:1;color:var(--fkn-wine)}
.fk-numbers__ring-sep{font-size:18px;margin:0 3px;color:var(--fkn-muted)}
.fk-numbers__ring-unit{font-size:16px}
.fk-numbers__legend{display:flex;gap:14px;font-size:12px;line-height:1.7}
.fk-numbers__legend span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--fkn-wine)}
.fk-numbers__legend .fk-numbers__legend-female::before{background:var(--fkn-wine-soft)}
.fk-numbers__ranks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;margin:0;padding:0}
.fk-numbers__rank{display:flex;flex-direction:column;align-items:center;gap:2px}
.fk-numbers__rank b{font-family:var(--fkn-f-mincho);font-weight:500;font-size:13px;line-height:1.7;letter-spacing:.04em;color:var(--fkn-wine)}
.fk-numbers__rank em{font-style:normal;font-weight:500;font-family:var(--fkn-f-num);font-size:34px;line-height:1;margin:0 2px}
.fk-numbers__rank span{font-size:11.5px;line-height:1.7}
.fk-numbers__grow{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%}
@media (max-width:900px){.fk-numbers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.fk-numbers__grid{grid-template-columns:1fr}}

/* ============================================================
   FIREKIDSを知る：YouTube一覧（.fk-videos）
   サムネイル＋YouTubeへのリンク（埋め込みはしない）。見た目は newgrad の一覧に合わせている。
   データ: 静的ページは data/videos.yml、トップは管理画面（ACF「movies」）
   ============================================================ */
.fk-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0;padding:0;list-style:none}
.fk-video{display:flex;flex-direction:column;min-width:0;margin:0;padding:0}
.fk-video__frame{
	position:relative;display:block;width:100%;aspect-ratio:16/9;
	border-radius:2px;overflow:hidden;background:#000;
	box-shadow:0 10px 30px rgba(16,54,92,.12);
	transition:transform .3s,box-shadow .3s;
	text-decoration:none;
}
.fk-video:hover .fk-video__frame{transform:translateY(-4px);box-shadow:0 18px 42px rgba(16,54,92,.18)}
.fk-video__frame img{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;display:block}
.fk-video__frame::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12);transition:background .25s}
.fk-video__frame:hover::after,.fk-video__frame:focus-visible::after{background:rgba(0,0,0,.28)}
.fk-video__play{
	position:absolute;top:50%;left:50%;z-index:1;
	width:58px;height:41px;margin:-20.5px 0 0 -29px;border-radius:10px;
	background:rgba(142,24,39,.92);
	display:flex;align-items:center;justify-content:center;
	box-shadow:0 4px 14px rgba(0,0,0,.3);transition:transform .25s;
}
.fk-video__frame:hover .fk-video__play{transform:scale(1.08)}
.fk-video__play::after{
	content:"";border-style:solid;
	border-width:8px 0 8px 13px;
	border-color:transparent transparent transparent #fff;
	margin-left:3px;
}
.fk-video__title{margin:16px 0 0;padding:0;font-family:inherit;font-size:13px;font-weight:600;line-height:1.8;letter-spacing:normal;color:#10365c}
@media (max-width:960px){.fk-videos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){.fk-videos{grid-template-columns:1fr}}
