/* 役：トップ（固定ページ「採用トップ」の本文＝SWELL・WordPress のブロック）の見た目。手本＝今の本番の V9.6（旧子テーマ lp/site.css・lp-extra.css）。
   読むのはトップだけ（inc/10-enqueue.php）。目印は body の class「tdr-lp」（inc/40-lp.php）。
   決まり：文字は変数だけ（大見出し2つだけ --tdr-font-display、ほかは --tdr-font-lg・md・sm）。色は base.css の変数と、その変数を混ぜた色（color-mix）だけ。
   ブロックの作り（固定ページの本文＝tools/top_blocks.py が作る）：節＝全幅のグループ（alignfull）の中に .wrap（1184px）。
   グループの中の入れ物（.wp-block-group__inner-container）は「無い物」として扱い（display:contents）、今の本番の段組み（grid）をそのまま当てる。
   今の本番の dl（定義の並び）は .lp-dl > .lp-dl-row > .lp-dt＋.lp-dd、li の中に見出しがある並びは .lp-list > .lp-li、1つだけ置かれた span は p.is-span。
   線の絵（矢印・小さな印）は CSS の mask で出す（本文に svg を置かない＝管理画面で直しても消えない）。 */

/* ── 0. 土台 ───────────────────────────────────────── */
.tdr-lp #content.l-content { padding-top: 0; margin-bottom: 0; }   /* SWELL のトップの上の余白（.top #content）を、今の本番と同じ0に。SWELL は body の class を #body_wrap に付ける */
.tdr-lp .l-mainContent__inner > .post_content { margin: 0; }
.tdr-lp .post_content {
	line-height: 1.85;
	font-size: var(--tdr-font-md);
	color: var(--tdr-ink);
	-webkit-font-smoothing: antialiased;
}
.tdr-lp .post_content .wp-block-group__inner-container { display: contents; }
.tdr-lp .post_content :where(p, h1, h2, h3, h4, ul, ol, li, figure, table, details, summary, .wp-block-group, .wp-block-image, .wp-block-table, .wp-block-gallery) {
	margin: 0;
}
.tdr-lp .post_content :where(h1, h2, h3, h4) { line-height: 1.5; letter-spacing: -.04em; font-weight: 700; }
.tdr-lp .post_content :where(ul, ol) { list-style: none; padding: 0; }
.tdr-lp .post_content :where(li) { padding: 0; }
.tdr-lp .post_content :where(li)::before { content: none; }
.tdr-lp .post_content :where(a) { color: inherit; font-weight: inherit; text-decoration: none; }
.tdr-lp .post_content :where(a):hover { text-decoration: none; }
.tdr-lp .post_content img { display: block; width: 100%; height: auto; }
.tdr-lp .post_content strong, .tdr-lp .post_content b { font-weight: 700; }
.tdr-lp .post_content small { font-size: inherit; }
.tdr-lp .post_content [id] { scroll-margin-top: 86px; }
.tdr-lp .post_content :where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid var(--tdr-pink); outline-offset: 5px; }
.tdr-lp .post_content > .alignfull { margin-top: 0; margin-bottom: 0; }
.tdr-lp .post_content .wp-element-caption { margin: 0; text-align: left; font-size: var(--tdr-font-sm); color: var(--tdr-muted); }
.tdr-lp .post_content h2 { margin: 0; text-wrap: balance; }
.tdr-lp .post_content h3 { margin: 0; text-wrap: balance; }
.tdr-lp .post_content p { text-wrap: pretty; }
.tdr-lp .post_content table { border: 0; }
.tdr-lp .post_content :where(th, td) { border: 0; background: none; }
.tdr-lp .wrap { width: min(var(--tdr-measure), calc(100% - 112px)); margin-inline: auto; }
.tdr-lp .small, .tdr-lp .post_content .small { color: var(--tdr-muted); line-height: 1.8; font-size: var(--tdr-font-sm); }
.tdr-lp .keep { display: inline-block; }
.tdr-lp .nowrap { white-space: nowrap; }
.tdr-lp .kicker { font-weight: 600; color: var(--tdr-pink); letter-spacing: .05em; line-height: 1.6; font-size: var(--tdr-font-sm); }
.tdr-lp .section { padding-block: 88px; }
.tdr-lp .section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; margin-bottom: 36px; }
.tdr-lp .section-heading .kicker { margin-bottom: 12px; }
.tdr-lp .section-heading > .wp-block-group__inner-container > p { color: var(--tdr-muted); align-self: end; font-size: var(--tdr-font-md); }
.tdr-lp .section-heading h2 { font-size: var(--tdr-font-lg); }

/* 線の絵（本番の svg と同じ線） */
.tdr-lp .lp-btn a::after,
.tdr-lp .column-entry-more a::after,
.tdr-lp .fv-points li::before,
.tdr-lp .fv-rate::before,
.tdr-lp .fv-safe::before,
.tdr-lp .rr-safe::before,
.tdr-lp .fv-cond::before,
.tdr-lp .fv-jobs::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: var(--lp-icon) center / contain no-repeat;
	mask: var(--lp-icon) center / contain no-repeat;
}
.tdr-lp .lp-btn a::after,
.tdr-lp .column-entry-more a::after { --lp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 5l7 7-7 7'/%3E%3C/svg%3E"); }
.tdr-lp .column-entry-more a::after { --lp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 5l7 7-7 7'/%3E%3C/svg%3E"); }
.tdr-lp .fv-points li:nth-child(1)::before { --lp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect height='16' rx='1' width='18' x='3' y='5'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18M7 14h3M14 14h3M7 18h3'/%3E%3C/svg%3E"); }
.tdr-lp .fv-points li:nth-child(2)::before { --lp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 10c0 5-7 11-7 11S5 15 5 10a7 7 0 1 1 14 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.tdr-lp .fv-points li:nth-child(3)::before { --lp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Cpath d='M3 21v-3a6 6 0 0 1 12 0v3M16 4a3 3 0 0 1 0 6M18 13a5 5 0 0 1 3 5v3'/%3E%3C/svg%3E"); }
.tdr-lp .fv-points li:nth-child(4)::before { --lp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect height='14' rx='1' width='18' x='3' y='5'/%3E%3Cpath d='m10 9 5 3-5 3Z'/%3E%3C/svg%3E"); }
.tdr-lp .fv-rate::before { --lp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m9 15 6-6'/%3E%3Ccircle cx='9.5' cy='9.5' r='1'/%3E%3Ccircle cx='14.5' cy='14.5' r='1'/%3E%3C/svg%3E"); }
.tdr-lp .fv-safe::before,
.tdr-lp .rr-safe::before { --lp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 19 6v6c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.tdr-lp .fv-cond::before { --lp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.6 5.6 6.1.7-4.5 4.2 1.2 6L12 16.6 6.6 19.5l1.2-6-4.5-4.2 6.1-.7Z'/%3E%3C/svg%3E"); }
.tdr-lp .fv-jobs::before { --lp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect height='13' rx='1' width='18' x='3' y='7'/%3E%3Cpath d='M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M3 12h18'/%3E%3C/svg%3E"); }

/* 釦（今の本番の .button）。リンクは段落の中にあり、見た目は段落の名前 lp-btn で決める */
.tdr-lp .lp-btn { margin: 0; }
.tdr-lp .lp-btn a {
	display: inline-block;   /* 文の中の語の箱（.nowrap）が並べられる形にする（本番は inline-grid の2列。矢印は ::after で同じ間を取る） */
	min-height: 50px;
	padding: 12px 22px;
	background: var(--tdr-pink);
	border: 1px solid var(--tdr-pink);
	color: var(--tdr-white);
	font-weight: 600;
	font-size: var(--tdr-font-md);
	line-height: 1.6;
	transition: background .2s, transform .2s;
}
.tdr-lp .lp-btn a:hover {
	background: color-mix(in srgb, var(--tdr-pink) 78%, var(--tdr-stage));
	border-color: color-mix(in srgb, var(--tdr-pink) 78%, var(--tdr-stage));
	color: var(--tdr-white);
	transform: translateY(-2px);
}
.tdr-lp .lp-btn.is-outline a { background: transparent; color: var(--tdr-ink); border-color: color-mix(in srgb, var(--tdr-ink) 30%, var(--tdr-paper)); }
.tdr-lp .lp-btn.is-outline a:hover { background: var(--tdr-ink); border-color: var(--tdr-ink); color: var(--tdr-white); }
.tdr-lp .lp-btn a::after { display: inline-block; vertical-align: -4px; margin-left: 28px; }
.tdr-lp .actions { display: grid; grid-template-columns: max-content max-content; gap: 12px; }

/* 「…を開く」のリンク */
.tdr-lp .column-entry-more { grid-column: 2; justify-self: start; }
.tdr-lp .column-entry-more a { display: inline; font-weight: 600; color: var(--tdr-pink); text-decoration: underline; text-underline-offset: 4px; }
.tdr-lp .column-entry-more a::after { display: inline-block; vertical-align: -4px; margin-left: 12px; }

/* ヘッダーのメニュー：今読んでいる節の項目に下線（本番の site.js と同じ印 aria-current="true"。付けるのは lp.js。トップだけ） */
.tdr-lp .c-gnav > .menu-item > a[aria-current="true"] .ttl { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; } /* 応募の節では「エントリー」の釦にも付く（本番と同じ） */
.tdr-lp .c-gnav > .menu-item.tdr-nav-entry > a[aria-current="true"] .ttl::after { display: inline-block; white-space: pre; }   /* 矢印には線を引かない（本番と同じ） */

/* ── 1. 1画面目（#top） ────────────────────────────── */
.tdr-lp .hero { position: relative; overflow: hidden; }
.tdr-lp .hero-fv {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	grid-template-areas: "head side" "ladder rate" "foot sidefoot";
	gap: 0 56px;
	align-items: start;
	padding-block: 36px 32px;
	position: relative;
	z-index: 1;
}
.tdr-lp .hero-fv .fv-left, .tdr-lp .hero-fv .fv-right { display: contents; }
.tdr-lp .hero-fv .fv-head, .tdr-lp .hero-fv .fv-side-head, .tdr-lp .hero-fv .fv-foot, .tdr-lp .hero-fv .fv-side-foot, .tdr-lp .hero-fv .fv-rate { min-width: 0; }
.tdr-lp .hero-fv .fv-head { grid-area: head; }
.tdr-lp .hero-fv .fv-side-head { grid-area: side; }
.tdr-lp .hero-fv .fv-ladder { grid-area: ladder; }
.tdr-lp .hero-fv .fv-rate { grid-area: rate; }
.tdr-lp .hero-fv .fv-foot { grid-area: foot; align-self: stretch; padding-top: 10px; }   /* 上の余白は fv-note の margin-top の代わり（SWELL が「div の最初の子」の上の余白を0に固定するため。下の fv-side-foot も同じ） */
.tdr-lp .hero-fv .fv-side-foot { grid-area: sidefoot; align-self: stretch; padding-top: 14px; }
.tdr-lp .hero-fv h1 { font-size: var(--tdr-font-display); line-height: 1.4; letter-spacing: -.04em; }
.tdr-lp .hero-fv h1 > span { display: block; max-width: none; }
.tdr-lp .hero-fv h1 .kicker { font-size: var(--tdr-font-sm); margin-bottom: 10px; letter-spacing: .05em; }
.tdr-lp .fv-claim { margin-top: 12px; font-size: var(--tdr-font-display); font-weight: 700; line-height: 1.3; letter-spacing: -.045em; }
.tdr-lp .fv-claim-line { display: block; }
.tdr-lp .fv-note { margin-top: 10px; font-size: var(--tdr-font-sm); color: var(--tdr-muted); line-height: 1.6; max-width: 40em; }
.tdr-lp .fv-note strong { color: var(--tdr-stage); font-weight: 700; font-size: var(--tdr-font-md); }
.tdr-lp .fv-side-head .kicker { padding-left: 36px; margin-bottom: 10px; }
.tdr-lp .fv-points { display: grid; gap: 14px; }
.tdr-lp .fv-points li,
.tdr-lp .fv-rate,
.tdr-lp .fv-safe,
.tdr-lp .fv-cond,
.tdr-lp .fv-jobs { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; }
.tdr-lp .fv-points li { font-size: var(--tdr-font-md); line-height: 1.6; }
.tdr-lp .fv-points li::before,
.tdr-lp .fv-rate::before,
.tdr-lp .fv-safe::before,
.tdr-lp .rr-safe::before,
.tdr-lp .fv-cond::before,
.tdr-lp .fv-jobs::before { width: 24px; height: 24px; margin-top: 2px; background-color: var(--tdr-pink); }
.tdr-lp .fv-safe { max-width: none; font-size: var(--tdr-font-md); line-height: 1.6; color: var(--tdr-ink); line-break: strict; }
.tdr-lp .fv-safe strong { color: var(--tdr-stage); }
.tdr-lp .fv-cond, .tdr-lp .fv-jobs { margin: 12px 0 0; max-width: none; font-size: var(--tdr-font-sm); line-height: 1.6; }
.tdr-lp .fv-jobs { margin-top: 6px; }
.tdr-lp .fv-cond::before, .tdr-lp .fv-jobs::before, .tdr-lp .fv-rate::before { margin-top: -1px; }
.tdr-lp .fv-jobs a, .tdr-lp .fv-cond a, .tdr-lp .fv-note a, .tdr-lp .fv-safe a { color: var(--tdr-pink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.tdr-lp .fv-safe a { margin-left: .3em; }
.tdr-lp .fv-ladder { margin-top: 14px; max-width: 34em; }
.tdr-lp .fv-ladder-cap, .tdr-lp .fv-rate-cap { font-size: var(--tdr-font-sm); color: var(--tdr-muted); margin: 0 0 6px; max-width: none; }
.tdr-lp .fv-ladder ul, .tdr-lp .fv-rate ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--tdr-ink); border-bottom: 1px solid var(--tdr-line); }
.tdr-lp .fv-rate ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tdr-lp .fv-ladder li, .tdr-lp .fv-rate li { display: grid; gap: 2px; padding: 8px 10px 8px 0; min-width: 0; align-content: start; }
.tdr-lp .fv-ladder li + li, .tdr-lp .fv-rate li + li { border-left: 1px solid var(--tdr-line); padding-left: 12px; }
.tdr-lp .fv-ladder li > span, .tdr-lp .fv-rate li > span { font-size: var(--tdr-font-sm); color: var(--tdr-muted); }
.tdr-lp .fv-ladder li b, .tdr-lp .fv-rate li b,
.tdr-lp .fv-ladder li strong, .tdr-lp .fv-rate li strong { font-size: var(--tdr-font-lg); font-weight: 700; letter-spacing: -.02em; line-height: 1.3; color: var(--tdr-ink); }
.tdr-lp .fv-ladder li small, .tdr-lp .fv-rate li small { font-size: var(--tdr-font-sm); color: var(--tdr-muted); line-height: 1.4; }
.tdr-lp .fv-rate { margin-top: 14px; }
.tdr-lp .hero-fv .actions { margin-top: 22px; }
.tdr-lp .fv-btn-short { display: none; }
@media (min-width: 1101px) {
	.tdr-lp .hero-fv .fv-foot, .tdr-lp .hero-fv .fv-side-foot { display: flex; flex-direction: column; }
	.tdr-lp .hero-fv .fv-foot .fv-note { margin: 10px 0 22px; }
	.tdr-lp .hero-fv .fv-foot .actions { margin-top: auto; }
	.tdr-lp .hero-fv .fv-side-foot .fv-safe { margin-top: 14px; }
	.tdr-lp .hero-fv .fv-side-foot .fv-cond { margin-bottom: 6px; }
	.tdr-lp .hero-fv .fv-side-foot .fv-jobs { margin-top: auto; }
}

/* 舞台の写真（大きな1枚と、10枚の小さな見本。切り替えは assets/js/lp.js） */
.tdr-lp .hero-scene { width: min(var(--tdr-measure), calc(100% - 112px)); margin-inline: auto; background: var(--tdr-stage); position: relative; overflow: hidden; z-index: 1; }
.tdr-lp .hero-scene img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; transition: opacity .18s; }
.tdr-lp .hero-scene img.audience { transform: scale(1.25); transform-origin: 50% 35%; }
.tdr-lp .hero-scene .wp-element-caption {
	padding: 12px 20px;
	background: var(--tdr-stage);
	color: var(--tdr-white);
	font-size: var(--tdr-font-sm);
	position: relative;
	z-index: 1;
	text-wrap: balance;
}
.tdr-lp .scene-caption-line { display: grid; grid-template-columns: 1fr auto; gap: 15px; align-items: baseline; }   /* 説明と番号（lp.js が作る。SWELL は figcaption を block に固定するため、中の箱で並べる） */
.tdr-lp .scene-counter { font-family: var(--tdr-num); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tdr-lp .caption-phrase { display: inline-block; max-width: 100%; vertical-align: top; }
.tdr-lp .photo-controls { display: grid; grid-template-columns: 1fr; gap: 14px; padding-block: 18px 24px; position: relative; }
.tdr-lp .gallery-heading { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; width: 100%; }
.tdr-lp .gallery-heading p { font-size: var(--tdr-font-md); font-weight: 600; }
.tdr-lp .gallery-arrows { display: grid; grid-template-columns: 44px 44px; gap: 8px; }
.tdr-lp .gallery-arrows button { display: grid; place-items: center; width: 44px; height: 40px; padding: 0; border: 1px solid color-mix(in srgb, var(--tdr-ink) 28%, var(--tdr-paper)); background: transparent; color: color-mix(in srgb, var(--tdr-ink) 65%, var(--tdr-paper)); font-size: var(--tdr-font-md); font-weight: 600; cursor: pointer; }
.tdr-lp .gallery-arrows button:hover { background: color-mix(in srgb, var(--tdr-ink) 8%, var(--tdr-paper)); }
/* JS が動く前・動かないとき：10枚の見本をそのまま並べる（説明は写真の下） */
.tdr-lp .photo-controls .wp-block-gallery.gallery-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.tdr-lp .photo-controls .wp-block-gallery.gallery-thumbs > .wp-block-image { width: auto; margin: 0; }
.tdr-lp .photo-controls .wp-block-gallery.gallery-thumbs img { aspect-ratio: 16 / 9; object-fit: cover; height: auto; }
.tdr-lp .photo-controls .wp-block-gallery.gallery-thumbs .wp-element-caption { position: static; background: none; color: var(--tdr-muted); padding: 4px 0 0; font-size: var(--tdr-font-sm); text-shadow: none; }
/* JS が作る見本の釦 */
.tdr-lp .photo-controls .gallery-thumbs.is-ready { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 6px; width: 100%; }
.tdr-lp .gallery-thumbs button { display: grid; grid-template-columns: 1fr; gap: 5px; padding: 3px; text-align: left; border: 1px solid transparent; background: transparent; color: color-mix(in srgb, var(--tdr-ink) 65%, var(--tdr-paper)); font-size: var(--tdr-font-sm); font-family: var(--tdr-num); font-weight: 600; min-width: 0; cursor: pointer; }
.tdr-lp .gallery-thumbs button:hover { opacity: .8; }
.tdr-lp .gallery-thumbs button[aria-pressed=true] { border-color: var(--tdr-ink); color: var(--tdr-ink); }
.tdr-lp .gallery-thumbs button img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.tdr-lp .photo-label-line { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px; font-size: var(--tdr-font-sm); line-height: 1.5; white-space: nowrap; }
.tdr-lp .photo-label { font-family: inherit; font-weight: 500; overflow: hidden; text-overflow: ellipsis; font-feature-settings: "palt" 1; }

/* ── 2. いま空いている枠（#slots） ─────────────────── */
.tdr-lp .column-entry { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.6fr); gap: 24px 48px; align-items: start; margin-top: 48px; padding-top: 32px; border-top: 1px solid color-mix(in srgb, var(--tdr-ink) 25%, var(--tdr-paper)); }
.tdr-lp .column-entry + .column-entry { margin-top: 32px; }
.tdr-lp .column-entry-head .kicker { margin-bottom: 10px; }
.tdr-lp .post_content .column-entry-head h3 { font-size: var(--tdr-font-lg); line-height: 1.5; }
.tdr-lp .column-entry-asof { margin-top: 10px; font-size: var(--tdr-font-sm); color: var(--tdr-muted); }
.tdr-lp .column-entry-list { display: grid; gap: 0; border-top: 1px solid var(--tdr-ink); }
.tdr-lp .column-entry-list li { border-bottom: 1px solid color-mix(in srgb, var(--tdr-ink) 25%, var(--tdr-paper)); }
.tdr-lp .column-entry-list a { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; padding: 14px 0; align-items: baseline; }
.tdr-lp .column-entry-list a:hover .column-entry-title { color: var(--tdr-pink); text-decoration: underline; text-underline-offset: 4px; }
.tdr-lp .column-entry-theme { font-size: var(--tdr-font-sm); font-weight: 600; color: var(--tdr-pink); }
.tdr-lp .column-entry-title { font-size: var(--tdr-font-md); line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; line-break: strict; }
.tdr-lp .column-entry-title .ph { display: inline-block; text-decoration: inherit; }
.tdr-lp .slots-section .takeover { margin-top: 0; padding-top: 0; border-top: 0; }
.tdr-lp .slots-section .takeover .column-entry-head .kicker { display: none; }
.tdr-lp .slot-legend { margin: 14px 0 0; display: grid; gap: 10px; }
.tdr-lp .slot-legend .lp-dl-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; align-items: start; }
.tdr-lp .slot-legend .lp-dt { line-height: 1.6; }
.tdr-lp .slot-legend .lp-dd { min-width: 0; font-size: var(--tdr-font-md); line-height: 1.7; line-break: strict; }
.tdr-lp .takeover-keep { display: inline-block; margin-left: 8px; background: var(--tdr-pink); color: var(--tdr-white); font-size: var(--tdr-font-sm); font-weight: 600; line-height: 1.5; padding: 0 8px; white-space: nowrap; }
.tdr-lp .takeover-zero { display: inline-block; margin-left: 8px; border: 1px solid var(--tdr-pink); color: var(--tdr-pink); font-size: var(--tdr-font-sm); font-weight: 600; line-height: 1.5; padding: 0 8px; white-space: nowrap; }
.tdr-lp .slot-legend .lp-dt .takeover-keep, .tdr-lp .slot-legend .lp-dt .takeover-zero { margin-left: 0; }
.tdr-lp .takeover-points { margin: 14px 0 0; }
.tdr-lp .takeover-points li { position: relative; padding-left: 16px; line-height: 1.8; margin-top: 6px; line-break: strict; }
.tdr-lp .takeover-points li::before { content: ""; position: absolute; left: 0; top: .75em; width: 6px; height: 6px; background: var(--tdr-pink); }
.tdr-lp .takeover-caution { margin-top: 12px; line-height: 1.8; line-break: strict; }
.tdr-lp .takeover-caution strong { color: var(--tdr-stage); }
.tdr-lp .takeover-day h4 { display: flex; gap: 10px; align-items: baseline; font-size: var(--tdr-font-md); font-weight: 600; margin: 0 0 8px; letter-spacing: 0; }
.tdr-lp .takeover-count { font-size: var(--tdr-font-sm); font-weight: 600; color: var(--tdr-pink); }
.tdr-lp .takeover-day + .takeover-day { margin-top: 20px; }
.tdr-lp .post_content .takeover-list { margin: 0; padding: 0; list-style: none; }
.tdr-lp .takeover-list li { display: grid; grid-template-columns: 120px minmax(0, 1fr) 13.2em 8em;   /* 時刻の列：本番は 110px。字が1px大きく「10:30〜11:30」が入らないので 120px */
	gap: 4px 14px; padding: 12px 0; align-items: center; font-size: var(--tdr-font-md); line-height: 1.6; line-break: strict; }
.tdr-lp .takeover-when { font-weight: 600; min-width: max-content; }
.tdr-lp .takeover-what b { font-weight: 600; color: var(--tdr-pink); margin-right: 2px; display: block; }
.tdr-lp .takeover-where { color: var(--tdr-ink); }
.tdr-lp .takeover-tag { min-width: 0; }
.tdr-lp .takeover-tag > span { display: block; margin-left: 0; text-align: center; }
.tdr-lp .takeover-timing { grid-column: 2 / -1; font-size: var(--tdr-font-sm); color: var(--tdr-muted); }
.tdr-lp .takeover-line { margin-top: 12px; max-width: none; line-height: 1.8; line-break: strict; }
.tdr-lp .takeover-line + .takeover-line { margin-top: 4px; }
.tdr-lp .takeover-days .column-entry-more { margin-top: 14px; max-width: 100%; }
.tdr-lp .takeover-more-text { min-width: 0; line-break: strict; }
.tdr-lp .free-times { margin-top: 40px; padding-top: 28px; border-top: 1px solid color-mix(in srgb, var(--tdr-ink) 25%, var(--tdr-paper)); }
.tdr-lp .post_content .free-times-head h3 { font-size: var(--tdr-font-lg); line-height: 1.5; }
.tdr-lp .free-times-head h3 .takeover-zero { margin-left: 12px; vertical-align: middle; }
.tdr-lp .free-times-head p { margin-top: 8px; max-width: none; color: var(--tdr-muted); font-size: var(--tdr-font-sm); line-height: 1.7; line-break: strict; }
.tdr-lp .free-rate { font-size: var(--tdr-font-sm); font-weight: 600; color: var(--tdr-pink); }
.tdr-lp .post_content .free-table { width: 100%; margin-top: 18px; border-collapse: collapse; table-layout: fixed; font-size: var(--tdr-font-md); line-height: 1.6; }
.tdr-lp .post_content .free-table thead th { padding: 0 10px 8px 0; border-bottom: 1px solid var(--tdr-ink); text-align: left; vertical-align: bottom; font-weight: 700; background: none; color: var(--tdr-ink); }
.tdr-lp .post_content .free-table thead th:first-child { width: 3.2em; }
.tdr-lp .free-table thead .free-rate { display: block; }
.tdr-lp .post_content .free-table tbody th,
.tdr-lp .post_content .free-table td { padding: 9px 10px 9px 0; border-bottom: 1px solid var(--tdr-line); text-align: left; vertical-align: top; background: none; color: var(--tdr-ink); }
.tdr-lp .post_content .free-table tbody th { font-weight: 600; }
.tdr-lp .free-slot { display: block; white-space: nowrap; }
.tdr-lp .free-table .free-none { color: var(--tdr-muted); }
.tdr-lp .post_content .free-table .free-none-row { display: none; }
.tdr-lp .free-rate-note { margin-top: 10px; max-width: none; font-size: var(--tdr-font-sm); color: var(--tdr-muted); line-height: 1.6; line-break: strict; }
.tdr-lp .slots-cta { margin-top: 28px; }

/* ── 3. 募集内容（#jobs） ───────────────────────────── */
.tdr-lp .jobs-section { background: color-mix(in srgb, var(--tdr-ink) 6%, var(--tdr-paper)); }
.tdr-lp .priority-jobs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.tdr-lp .priority-jobs article { padding: 24px; background: var(--tdr-paper); border-top: 2px solid var(--tdr-pink); }
.tdr-lp .tag { display: inline-block; font-weight: 600; color: var(--tdr-pink); font-size: var(--tdr-font-sm); }
.tdr-lp .tag.quiet { color: var(--tdr-muted); }
.tdr-lp .post_content .priority-jobs h3 { font-weight: 600; font-family: var(--tdr-num); line-height: 1.3; margin: 16px 0 4px; letter-spacing: -.04em; font-size: var(--tdr-font-lg); }
.tdr-lp .priority-jobs article p:not(.tag) { color: var(--tdr-muted); font-size: var(--tdr-font-sm); }
.tdr-lp .takeover-note { display: inline-block; margin-top: 10px; font-size: var(--tdr-font-sm); font-weight: 600; color: var(--tdr-pink); text-decoration: underline; text-underline-offset: 3px; }
.tdr-lp .style-work { margin-top: 22px; font-size: var(--tdr-font-md); max-width: none; }
.tdr-lp .other-styles { margin-top: 28px; }
.tdr-lp .other-styles h3 { font-size: var(--tdr-font-md); }
.tdr-lp .other-styles p { margin-top: 12px; max-width: none; color: var(--tdr-muted); font-size: var(--tdr-font-md); }
.tdr-lp .other-styles p.small { font-size: var(--tdr-font-sm); }
.tdr-lp .job-table-head { margin-top: 48px; padding-top: 32px; border-top: 1px solid color-mix(in srgb, var(--tdr-ink) 25%, var(--tdr-paper)); }
.tdr-lp .post_content .job-table-head h3 { font-size: var(--tdr-font-lg); line-height: 1.5; }
.tdr-lp .job-chips { margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tdr-lp .job-chips li { border: 1px solid var(--tdr-pink); color: var(--tdr-pink); font-size: var(--tdr-font-sm); font-weight: 600; line-height: 1.5; padding: 4px 10px; white-space: nowrap; line-break: strict; }
.tdr-lp .job-facts { margin: 26px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tdr-lp .job-facts .lp-dl-row { border-top: 1px solid color-mix(in srgb, var(--tdr-ink) 25%, var(--tdr-paper)); padding-top: 15px; min-width: 0; }
.tdr-lp .job-facts .lp-dt { color: var(--tdr-muted); margin-bottom: 8px; font-size: var(--tdr-font-sm); }
.tdr-lp .job-facts .lp-dd { font-size: var(--tdr-font-md); }
.tdr-lp .fact-detail { display: block; margin-top: 4px; }
.tdr-lp .jobs-section .job-table { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 20px; }
.tdr-lp .job-table .lp-dl-row { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 24px; padding-block: 16px; align-items: baseline; }
.tdr-lp .job-table .lp-dt, .tdr-lp .show-pay-list .lp-dt, .tdr-lp .staff-body .job-facts .lp-dt { margin: 0; font-size: var(--tdr-font-md); font-weight: 600; }
.tdr-lp .job-table .lp-dd { min-width: 0; line-break: strict; }
.tdr-lp .job-table .fact-detail { display: block; margin-top: 4px; color: var(--tdr-muted); font-size: var(--tdr-font-sm); }
.tdr-lp .job-table .fact-detail a { color: var(--tdr-pink); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
/* 実質歩合（#real-rate） */
.tdr-lp .real-rate { margin-top: 48px; padding-top: 32px; border-top: 1px solid color-mix(in srgb, var(--tdr-ink) 25%, var(--tdr-paper)); }
.tdr-lp .show-pay-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; margin-bottom: 24px; }
.tdr-lp .post_content .show-pay-intro h3 { font-size: var(--tdr-font-lg); }
.tdr-lp .show-pay-intro p { max-width: none; color: var(--tdr-muted); }
.tdr-lp .real-rate .show-pay-intro .kicker { margin-bottom: 8px; color: var(--tdr-pink); }
.tdr-lp .real-rate .show-pay-intro p { line-break: strict; }
.tdr-lp .real-rate .show-pay-intro strong { color: var(--tdr-stage); }
.tdr-lp .rr-lead p + p { margin-top: 10px; }
.tdr-lp .rr-safe { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; }
.tdr-lp .rr-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.tdr-lp .rr-fig { margin: 0; min-width: 0; }
.tdr-lp .rr-cap { font-size: var(--tdr-font-sm); color: var(--tdr-muted); line-height: 1.6; }
.tdr-lp .rr-row { margin-top: 18px; }
.tdr-lp .rr-label { margin: 0 0 6px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; line-height: 1.5; max-width: none; }
.tdr-lp .rr-label b { color: var(--tdr-ink); }
.tdr-lp .rr-label > span { font-size: var(--tdr-font-sm); color: var(--tdr-muted); }
.tdr-lp .rr-bar { display: flex; gap: 2px; height: 28px; }
.tdr-lp .rr-full { width: 100%; }
.tdr-lp .rr-disc { width: 58.333%; }
.tdr-lp .rr-pay, .tdr-lp .rr-sw-pay { background: var(--tdr-pink); }
.tdr-lp .rr-rest, .tdr-lp .rr-sw-rest { background: color-mix(in srgb, var(--tdr-ink) 21%, var(--tdr-paper)); }
.tdr-lp .rr-full .rr-pay { flex: 7260 1 0; }
.tdr-lp .rr-full .rr-rest { flex: 5940 1 0; }
.tdr-lp .rr-disc .rr-pay { flex: 7260 1 0; }
.tdr-lp .rr-disc .rr-rest { flex: 440 1 0; }
.tdr-lp .rr-vals { margin: 6px 0 0; display: flex; flex-wrap: wrap; gap: 4px 20px; font-size: var(--tdr-font-sm); line-height: 1.6; color: var(--tdr-ink); max-width: none; }
.tdr-lp .rr-sw { display: inline-block; width: 10px; height: 10px; margin-right: 6px; }
.tdr-lp .rr-point { margin-top: 16px; max-width: none; font-weight: 700; color: var(--tdr-stage); line-break: strict; }
.tdr-lp .rr-table-wrap { min-width: 0; }
.tdr-lp .rr-table-cap { margin-top: 0; max-width: none; line-break: strict; }
.tdr-lp .rr-table-cap strong { color: var(--tdr-stage); }
.tdr-lp .post_content .rr-table { margin-top: 14px; overflow: visible; }
.tdr-lp .post_content .rr-table table { width: 100%; border-collapse: collapse; font-size: var(--tdr-font-md); line-height: 1.6; font-variant-numeric: tabular-nums; }
.tdr-lp .post_content .rr-table th,
.tdr-lp .post_content .rr-table td { padding: 9px 0 9px 12px; border: 0; border-bottom: 1px solid var(--tdr-line); text-align: right; white-space: nowrap; background: none; color: var(--tdr-ink); }
.tdr-lp .post_content .rr-table thead th { border-bottom: 1px solid var(--tdr-ink); font-weight: 700; vertical-align: bottom; line-height: 1.4; }
.tdr-lp .post_content .rr-table thead th:first-child,
.tdr-lp .post_content .rr-table tbody th { padding-left: 0; text-align: left; white-space: normal; }
.tdr-lp .post_content .rr-table tbody th { font-weight: 600; }
.tdr-lp .post_content .rr-table td:last-child { font-weight: 700; color: var(--tdr-stage); }
.tdr-lp .rr-legend { margin: 14px 0 0; display: grid; gap: 6px; }
.tdr-lp .rr-legend .lp-dl-row { display: grid; grid-template-columns: 8.5em minmax(0, 1fr); gap: 12px; font-size: var(--tdr-font-sm); line-height: 1.7; }
.tdr-lp .rr-legend .lp-dt { font-weight: 600; font-size: var(--tdr-font-sm); }
.tdr-lp .rr-legend .lp-dd { min-width: 0; color: var(--tdr-muted); line-break: strict; font-size: var(--tdr-font-sm); }
.tdr-lp .rr-foot { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--tdr-line); }
.tdr-lp .rr-why { max-width: none; line-break: strict; }
.tdr-lp .rr-guarantee { margin-top: 10px; max-width: none; line-break: strict; }
.tdr-lp .rr-guarantee strong { color: var(--tdr-stage); }
.tdr-lp .rr-note { margin-top: 8px; max-width: none; line-break: strict; }
.tdr-lp .rr-note a { margin-left: .3em; color: var(--tdr-pink); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
/* 発表会の必須条件・舞台の報酬 */
.tdr-lp .show-commitment { max-width: none; margin-top: 24px; padding: 24px; background: var(--tdr-paper); }
.tdr-lp .show-commitment .kicker { margin-bottom: 10px; }
.tdr-lp .post_content .show-commitment h3 { font-size: var(--tdr-font-lg); line-height: 1.55; text-wrap: initial; }
.tdr-lp .show-attendance { display: block; }
.tdr-lp .show-commitment p { max-width: none; }
.tdr-lp .show-commitment p:not(.kicker) { margin-top: 16px; }
.tdr-lp .show-unavailable { font-weight: 600; color: var(--tdr-ink); }
.tdr-lp .show-pay { margin-top: 36px; }
.tdr-lp .show-pay-list { display: grid; }
.tdr-lp .show-pay-list .lp-dl-row { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 24px; padding: 22px 0; border-top: 1px solid var(--tdr-line); align-items: baseline; }
.tdr-lp .show-pay-list .lp-dd { min-width: 0; color: var(--tdr-muted); }
.tdr-lp .show-pay-example { display: block; color: var(--tdr-ink); font-weight: 600; margin: 12px 0 8px; }
.tdr-lp .show-pay-example .keep + .keep { margin-left: .3em; }
.tdr-lp .show-pay-note { max-width: none; margin-top: 4px; }
.tdr-lp .job-start { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 32px; margin-top: 32px; }
.tdr-lp .job-start p:not(.lp-btn) { font-size: var(--tdr-font-sm); }
/* 運営スタッフ・清掃（開く欄） */
.tdr-lp .staff-details { margin-top: 36px; border: 1px solid color-mix(in srgb, var(--tdr-ink) 25%, var(--tdr-paper)); background: color-mix(in srgb, var(--tdr-ink) 1%, var(--tdr-paper)); }
.tdr-lp .staff-details + .staff-details { margin-top: 36px; }
.tdr-lp .staff-details > summary { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 18px 23px; list-style: none; cursor: pointer; font-weight: 600; font-size: var(--tdr-font-md); align-items: center; }
.tdr-lp .staff-details > summary::-webkit-details-marker { display: none; }
.tdr-lp .staff-details > summary::marker { content: ""; }
.tdr-lp .staff-details[open] .summary-mark { transform: rotate(45deg); }
.tdr-lp .summary-mark { display: inline-block; }
.tdr-lp .staff-heading { display: grid; grid-template-columns: max-content max-content; gap: 8px 24px; align-items: baseline; min-width: 0; }
.tdr-lp .staff-opening { font-size: var(--tdr-font-md); color: var(--tdr-pink); }
.tdr-lp .staff-body { padding: 14px 23px 24px; }   /* 最初の段落の上の14px（SWELL が「div の最初の子」の上の余白を0に固定するため、ここで持つ） */
.tdr-lp .staff-body p { margin-top: 14px; color: var(--tdr-muted); max-width: none; font-size: var(--tdr-font-md); line-break: strict; }
.tdr-lp .staff-body p.small { font-size: var(--tdr-font-sm); }
.tdr-lp .staff-body p a { color: var(--tdr-pink); text-decoration: underline; text-underline-offset: 4px; }
.tdr-lp .staff-body .lp-btn { margin-top: 22px; }
.tdr-lp .staff-body .lp-btn a { color: var(--tdr-ink); text-decoration: none; }
.tdr-lp .staff-body .lp-btn a:hover { color: var(--tdr-white); }
.tdr-lp .staff-body .job-facts { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 24px; }
.tdr-lp .staff-body .job-facts .lp-dl-row { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 24px; padding-block: 16px; align-items: baseline; }
.tdr-lp .staff-body .job-facts .lp-dd { min-width: 0; color: var(--tdr-ink); line-break: strict; }
.tdr-lp .staff-body .fact-detail { display: inline; margin-left: 16px; color: var(--tdr-muted); font-size: var(--tdr-font-sm); }
/* 求人ページ・コラムの入口（#job-list） */
.tdr-lp .jobs-section .column-entry-head h3 { font-size: var(--tdr-font-lg); }

/* ── 4. スタジオと環境（#environment） ───────────────── */
.tdr-lp .campuses { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 48px; }
.tdr-lp .campus { min-width: 0; }
.tdr-lp .campus-title { margin-bottom: 16px; }
.tdr-lp .post_content .campus-title h3 { font-size: var(--tdr-font-lg); }
.tdr-lp .campus-title .is-span { color: var(--tdr-muted); font-size: var(--tdr-font-sm); }
.tdr-lp .campus-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tdr-lp .campus-photos > .wp-block-group__inner-container > figure:first-child { grid-column: 1 / -1; }
.tdr-lp .campus img { aspect-ratio: 1.65; object-fit: cover; }
.tdr-lp .campus .wp-element-caption { color: var(--tdr-muted); padding-top: 6px; font-size: var(--tdr-font-sm); }
.tdr-lp .hirama { grid-column: 1 / -1; margin-top: 16px; }
.tdr-lp .hirama-rooms { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.tdr-lp .hirama-amenities { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 16px minmax(0, 1fr) minmax(0, 1fr); column-gap: 16px; row-gap: 16px; margin-top: 16px; }
.tdr-lp .hirama-amenities figure:nth-child(3) { grid-column: 4; }
.tdr-lp .hirama-amenities figure:nth-child(4) { grid-column: 5; }
.tdr-lp .practice-panel { margin-top: 40px; padding: 32px; background: var(--tdr-stage); color: var(--tdr-white); display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.tdr-lp .practice-panel .kicker { color: var(--tdr-sky); }
.tdr-lp .post_content .practice-panel h3 { margin: 14px 0 20px; color: var(--tdr-white); font-size: var(--tdr-font-lg); }
.tdr-lp .practice-panel p:not(.kicker) { color: var(--tdr-white); font-size: var(--tdr-font-sm); }
.tdr-lp .practice-panel > .wp-block-group__inner-container > .wp-block-group:first-child p:not(.kicker) { color: var(--tdr-cream); }   /* 左の説明の段落は淡い黄色（本番と同じ） */
.tdr-lp .practice-panel p.small { font-size: var(--tdr-font-sm); color: var(--tdr-white); }
.tdr-lp .practice-times { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 18px; }
.tdr-lp .practice-times p { display: grid; grid-template-rows: 1fr auto; align-items: end; }
.tdr-lp .practice-times p > span { color: var(--tdr-white); font-size: var(--tdr-font-sm); }
.tdr-lp .practice-times strong { display: block; font-weight: 500; font-family: var(--tdr-num); line-height: 1.4; font-size: var(--tdr-font-lg); }
.tdr-lp .practice-times small { font-weight: 500; font-family: "Noto Sans JP", sans-serif; margin-left: 4px; font-size: var(--tdr-font-md); }
.tdr-lp .practice-rule { border-top: 1px solid color-mix(in srgb, var(--tdr-white) 20%, var(--tdr-stage)); padding-top: 18px; margin-top: 18px; }

/* ── 5. 募集背景（#philosophy） ─────────────────────── */
.tdr-lp .philosophy-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; margin-bottom: 36px; align-items: start; }
.tdr-lp .philosophy-title .kicker { margin-bottom: 12px; }
.tdr-lp .philosophy-motto { margin: 0 0 6px; font-size: var(--tdr-font-md); font-weight: 700; color: var(--tdr-ink); }
.tdr-lp .philosophy-title h2 { font-size: var(--tdr-font-lg); }
.tdr-lp .philosophy-copy { display: grid; gap: 18px; padding-top: calc(var(--tdr-font-sm) * 1.6 + 12px); }
.tdr-lp .philosophy-copy p { max-width: none; color: var(--tdr-muted); }
.tdr-lp .philosophy-copy .philosophy-belief { color: var(--tdr-ink); font-weight: 600; }
.tdr-lp .standards-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.tdr-lp .standards-grid article { padding-top: 22px; border-top: 1px solid var(--tdr-line); }
.tdr-lp .standards-grid .is-span { font-weight: 600; font-family: var(--tdr-num); color: var(--tdr-pink); font-size: var(--tdr-font-sm); }
.tdr-lp .standards-grid h3 { margin-block: 12px; }
.tdr-lp .standards-grid p:not(.is-span) { color: var(--tdr-muted); }
.tdr-lp .plain-detail { margin-top: 28px; background: color-mix(in srgb, var(--tdr-ink) 5%, var(--tdr-paper)); padding: 16px 22px; }
.tdr-lp .plain-detail > summary { cursor: pointer; font-weight: 600; font-size: var(--tdr-font-md); }
.tdr-lp .plain-detail > summary::marker { color: var(--tdr-pink); }
.tdr-lp .contract-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 48px; margin-top: 22px; padding-bottom: 6px; }
.tdr-lp .contract-detail-column { min-width: 0; }
.tdr-lp .contract-detail-column h3 { color: var(--tdr-ink); margin: 0; }
.tdr-lp .contract-detail-column p { max-width: none; margin-top: 10px; color: var(--tdr-muted); }

/* ── 6. 数字で見る実績（#growth） ───────────────────── */
.tdr-lp .data-intro { max-width: none; color: var(--tdr-muted); margin-bottom: 32px; }
.tdr-lp .metrics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.tdr-lp .metric { display: grid; grid-template-rows: 34px 28px 72px 80px auto 94px auto auto; align-content: start; border-top: 1px solid color-mix(in srgb, var(--tdr-ink) 40%, var(--tdr-paper)); padding-top: 22px; min-width: 0; }
.tdr-lp .metric-date { color: var(--tdr-muted); font-size: var(--tdr-font-sm); }
.tdr-lp .metric-number { font-weight: 500; font-family: var(--tdr-num); line-height: 1.3; letter-spacing: -.055em; font-variant-numeric: tabular-nums; font-size: var(--tdr-font-lg); }
.tdr-lp .metric-number > span:not(.nowrap) { font-weight: 500; font-family: "Noto Sans JP", sans-serif; letter-spacing: 0; margin-left: 6px; font-size: var(--tdr-font-md); }
.tdr-lp .metric-summary { line-height: 1.75; color: var(--tdr-muted); font-size: var(--tdr-font-sm); }
.tdr-lp .metric .keep { font-size: var(--tdr-font-sm); }
.tdr-lp .chart { display: grid; gap: 0; }
.tdr-lp .chart-row { display: grid; grid-template-columns: 85px minmax(0, 1fr) 117px; gap: 12px; align-items: center; height: 44px; font-variant-numeric: tabular-nums; font-size: var(--tdr-font-sm); }
.tdr-lp .chart-row > span:first-child { font-family: var(--tdr-num); }
.tdr-lp .chart-row strong { text-align: right; font-weight: 500; white-space: nowrap; }
.tdr-lp .bar-track { height: 19px; background: color-mix(in srgb, var(--tdr-ink) 6%, var(--tdr-paper)); }
.tdr-lp .bar-track i { height: 100%; display: block; background: color-mix(in srgb, var(--tdr-ink) 38%, var(--tdr-paper)); }
.tdr-lp .chart-row:last-child i { background: var(--tdr-pink); }
.tdr-lp .projected .bar-track i { background: color-mix(in srgb, var(--tdr-ink) 12%, var(--tdr-paper)); border: 1px dashed var(--tdr-pink); }
.tdr-lp .estimate { display: block; font-weight: 500; font-family: "Noto Sans JP", sans-serif; line-height: 1.2; color: var(--tdr-pink); }
.tdr-lp .chart-note { padding-top: 12px; font-size: var(--tdr-font-sm); }
.tdr-lp .forecast { padding: 22px 24px; background: color-mix(in srgb, var(--tdr-ink) 6%, var(--tdr-paper)); display: grid; grid-template-rows: auto auto 1fr; gap: 8px; }
.tdr-lp .forecast .is-span { color: var(--tdr-muted); font-size: var(--tdr-font-sm); }
.tdr-lp .forecast .is-strong { font-weight: 500; font-family: var(--tdr-num); line-height: 1.35; letter-spacing: -.05em; font-size: var(--tdr-font-lg); }
.tdr-lp .forecast small { font-weight: 500; font-family: "Noto Sans JP", sans-serif; margin-inline: 3px; font-size: var(--tdr-font-md); }
.tdr-lp .forecast p:not(.is-span):not(.is-strong) { line-height: 1.8; font-size: var(--tdr-font-sm); }
.tdr-lp .data-detail { margin-top: 18px; align-self: start; font-size: var(--tdr-font-sm); }
.tdr-lp .data-detail > summary { padding: 8px 0; cursor: pointer; font-weight: 600; }
.tdr-lp .data-detail > summary::marker { color: var(--tdr-pink); }
.tdr-lp .data-detail p { margin-top: 14px; color: var(--tdr-muted); overflow-wrap: anywhere; }
.tdr-lp .post_content .data-detail .wp-block-table { margin-top: 12px; }
.tdr-lp .post_content .data-detail table { width: 100%; border-collapse: collapse; font-size: var(--tdr-font-sm); }
.tdr-lp .post_content .data-detail th,
.tdr-lp .post_content .data-detail td { border: 0; border-bottom: 1px solid var(--tdr-line); padding: 8px; text-align: left; background: none; color: var(--tdr-ink); font-weight: 400; }
.tdr-lp .post_content .data-detail thead th { font-weight: 700; }
.tdr-lp .pay-story { margin-top: 54px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.tdr-lp .pay-story .pay-announcement { font-size: var(--tdr-font-md); color: var(--tdr-muted); font-weight: 700; line-height: 1.5; margin-top: 12px; }   /* 本番の見え方（本文の大きさ・灰色の太字）に合わせる */
.tdr-lp .pay-story h3 { margin: 10px 0 20px; }
.tdr-lp .pay-story > .wp-block-group__inner-container > .wp-block-group:first-child p:not(.kicker):not(.pay-announcement) { color: var(--tdr-muted); }
.tdr-lp .pay-story > .wp-block-group__inner-container > .wp-block-group:first-child p + p { margin-top: 16px; }
.tdr-lp .pay-example { padding: 24px; background: var(--tdr-white); border: 1px solid var(--tdr-line); }
.tdr-lp .pay-example h3 { margin: 0 0 8px; }
.tdr-lp .pay-example .small { font-size: var(--tdr-font-md); color: var(--tdr-muted); }
.tdr-lp .pay-change { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; margin-block: 20px; }
.tdr-lp .pay-change p > span { display: block; font-size: var(--tdr-font-sm); }
.tdr-lp .pay-change strong { font-weight: 500; font-family: var(--tdr-num); line-height: 1.5; letter-spacing: -.04em; font-size: var(--tdr-font-lg); }
.tdr-lp .pay-change small { display: block; font-weight: 400; font-family: "Noto Sans JP", sans-serif; font-size: var(--tdr-font-sm); }
.tdr-lp .pay-change > .wp-block-group__inner-container > p:last-child { color: var(--tdr-pink); }
.tdr-lp .pay-more { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-block: 16px; border-top: 1px solid var(--tdr-line); }
.tdr-lp .pay-more p { font-size: var(--tdr-font-sm); }
.tdr-lp .pay-more strong { display: block; font-size: var(--tdr-font-sm); }
.tdr-lp .growth-meaning { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; margin-top: 36px; }
.tdr-lp .post_content .growth-meaning h3 { font-size: var(--tdr-font-lg); }
.tdr-lp .growth-meaning p { color: var(--tdr-muted); }
.tdr-lp .commission-note { background: color-mix(in srgb, var(--tdr-ink) 6%, var(--tdr-paper)); padding: 16px 22px; margin-top: 24px; max-width: none; font-size: var(--tdr-font-sm); }

/* ── 7. 舞台の歩み（#history） ───────────────────────── */
.tdr-lp .dark { background: var(--tdr-stage); color: var(--tdr-white); }
.tdr-lp .dark .kicker { color: color-mix(in srgb, var(--tdr-brand) 50%, var(--tdr-white)); }
.tdr-lp .dark .section-heading > .wp-block-group__inner-container > p { color: var(--tdr-white); }
.tdr-lp .dark h2, .tdr-lp .dark h3 { color: var(--tdr-white); }
.tdr-lp .journey-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; }
.tdr-lp .journey-item { display: grid; grid-template-rows: auto auto; align-content: start; }
.tdr-lp .journey-item:first-child, .tdr-lp .journey-item:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 36px; align-items: start; }
.tdr-lp .journey-item img { height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: var(--tdr-surface); }
.tdr-lp .journey-item:first-child img, .tdr-lp .journey-item:last-child img { aspect-ratio: 3 / 2; object-fit: contain; }
.tdr-lp .journey-photo { overflow: hidden; aspect-ratio: 3 / 2; background: var(--tdr-surface); }
.tdr-lp .journey-item .journey-photo img { width: 100%; height: 100%; object-fit: cover; }
.tdr-lp .journey-photo-2024 img { transform: rotate(-2.2deg) scale(1.06); }
.tdr-lp .journey-photo-2026 img { transform: scale(1.10); transform-origin: 50% 65%; }
.tdr-lp .journey-caption { padding-top: 14px; }
.tdr-lp .journey-item:first-child .journey-caption, .tdr-lp .journey-item:last-child .journey-caption { padding-top: 0; }
.tdr-lp .journey-meta { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: baseline; margin-bottom: 8px; }
.tdr-lp .journey-meta strong { font-weight: 500; font-family: var(--tdr-num); line-height: 1.3; letter-spacing: -.045em; font-size: var(--tdr-font-lg); }
.tdr-lp .journey-meta > span { color: var(--tdr-white); font-size: var(--tdr-font-sm); }
.tdr-lp .journey-item h3 { line-height: 1.65; margin-bottom: 8px; }
.tdr-lp .post_content .journey-item:first-child h3, .tdr-lp .post_content .journey-item:last-child h3 { margin-block: 16px; font-size: var(--tdr-font-lg); }
.tdr-lp .journey-item p { line-height: 1.85; color: var(--tdr-white); font-size: var(--tdr-font-sm); }
.tdr-lp .journey-item .journey-meta { font-size: inherit; }
.tdr-lp .journey-item .journey-story { display: grid; gap: 14px; }
.tdr-lp .journey-item:first-child .journey-story p, .tdr-lp .journey-item:last-child .journey-story p { font-size: var(--tdr-font-md); }
.tdr-lp .journey-more-label { display: none; }
.tdr-lp .journey-grid.is-folded > .wp-block-group__inner-container > .journey-item:not(:first-child):not(:last-child) { display: none; }
.tdr-lp .journey-more { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; padding: 10px 18px; border: 1px solid color-mix(in srgb, var(--tdr-brand) 50%, var(--tdr-white)); background: transparent; color: var(--tdr-white); font-weight: 600; font-size: var(--tdr-font-md); cursor: pointer; font-family: inherit; }
.tdr-lp .journey-more:hover { background: color-mix(in srgb, var(--tdr-brand) 50%, var(--tdr-white)); color: var(--tdr-stage); }
.tdr-lp .stage-invite { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 42px; align-items: end; }
.tdr-lp .stage-invite .kicker { margin-bottom: 12px; font-size: var(--tdr-font-sm); color: var(--tdr-sky-soft); }
.tdr-lp .post_content .stage-invite h3 { font-size: var(--tdr-font-lg); }
.tdr-lp .stage-invite p { color: var(--tdr-white); }
.tdr-lp .next-stage { display: grid; gap: 16px; }
.tdr-lp .next-stage p { max-width: none; font-size: var(--tdr-font-md); }
.tdr-lp .next-stage .next-stage-date { color: var(--tdr-white); font-size: var(--tdr-font-lg); font-weight: 700; line-height: 1.5; letter-spacing: -.03em; }
.tdr-lp .next-stage p > strong { display: block; color: var(--tdr-white); margin-bottom: 12px; }
.tdr-lp .stage-link a > span[aria-hidden] { margin-left: 20px; }
.tdr-lp .stage-link a { display: inline-block; max-width: 100%; padding: 10px 18px; border: 1px solid color-mix(in srgb, var(--tdr-white) 38%, var(--tdr-stage)); color: var(--tdr-white); font-size: var(--tdr-font-md); }
.tdr-lp .history-note { margin-top: 24px; color: var(--tdr-white); max-width: none; font-size: var(--tdr-font-sm); }

/* ── 8. エントリー（#entry）と応募フォーム（働きは土台の assets/js/application.js） ── */
.tdr-lp .entry-section { background: color-mix(in srgb, var(--tdr-ink) 6%, var(--tdr-paper)); }
.tdr-lp .selection-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.tdr-lp .selection-steps .lp-li { display: grid; grid-template-rows: auto 44px 1fr auto; gap: 8px; border-top: 1px solid color-mix(in srgb, var(--tdr-ink) 27%, var(--tdr-paper)); padding-top: 20px; }
.tdr-lp .selection-steps .is-span { font-weight: 500; font-family: var(--tdr-num); color: var(--tdr-pink); font-size: var(--tdr-font-md); }
.tdr-lp .selection-steps p:not(.is-span):not(.is-small) { color: var(--tdr-muted); font-size: var(--tdr-font-sm); }
.tdr-lp .selection-steps .is-small { color: var(--tdr-pink); margin-top: 4px; font-size: var(--tdr-font-sm); }
.tdr-lp .selection-caption { margin-top: 18px; max-width: none; }
.tdr-lp #application-mount { margin-top: 32px; }   /* SWELL は「div の最初の子」の上の余白を0に固定するので、入れ物の側に付ける */
.tdr-lp .application { background: var(--tdr-paper); padding: 40px; }
.tdr-lp .form-top { display: grid; grid-template-columns: 1fr minmax(240px, 1fr); gap: 20px; align-items: end; margin-bottom: 28px; }
.tdr-lp .post_content .form-top h3 { font-size: var(--tdr-font-lg); margin: 0; }
.tdr-lp #form-title:focus { outline: none; }
.tdr-lp .post_content .application-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; font-size: var(--tdr-font-sm); color: var(--tdr-muted); }
.tdr-lp .application-steps li { padding: 10px 0; border-bottom: 2px solid var(--tdr-line); white-space: nowrap; }
.tdr-lp .application-steps [aria-current=step] { color: var(--tdr-pink); border-color: var(--tdr-pink); font-weight: 600; }
.tdr-lp .application-steps .is-complete { color: var(--tdr-ink); border-color: var(--tdr-ink); }
.tdr-lp .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.tdr-lp .field { display: grid; gap: 8px; align-content: start; min-width: 0; }
.tdr-lp .field.full { grid-column: 1 / -1; }
.tdr-lp .field > label, .tdr-lp .field > legend { font-weight: 600; font-size: var(--tdr-font-md); }
.tdr-lp .field em { font-style: normal; color: var(--tdr-pink); margin-left: 0; font-size: var(--tdr-font-sm); display: inline-block; white-space: nowrap; }
.tdr-lp .field em.optional { color: var(--tdr-muted); }
.tdr-lp .field small { color: var(--tdr-muted); line-height: 1.65; font-size: var(--tdr-font-sm); }
.tdr-lp .field input:not([type=checkbox]):not([type=radio]),
.tdr-lp .field select,
.tdr-lp .field textarea { width: 100%; min-height: 48px; border: 1px solid color-mix(in srgb, var(--tdr-ink) 28%, var(--tdr-paper)); background: var(--tdr-white); color: var(--tdr-ink); padding: 12px 14px; border-radius: 0; font-size: var(--tdr-font-md); font-family: inherit; box-shadow: none; }
.tdr-lp .field textarea { min-height: 130px; resize: vertical; line-height: 1.7; }
.tdr-lp .field input:focus, .tdr-lp .field textarea:focus, .tdr-lp .field select:focus { border-color: var(--tdr-pink); }
.tdr-lp fieldset.field { border: 0; padding: 0; margin: 0; }
.tdr-lp fieldset.field legend { margin-bottom: 12px; padding: 0; }
.tdr-lp .genre-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.tdr-lp .genre-options label { position: relative; display: grid; grid-template-columns: 18px 1fr; align-items: center; gap: 9px; border: 1px solid color-mix(in srgb, var(--tdr-ink) 24%, var(--tdr-paper)); padding: 12px 14px; cursor: pointer; background: var(--tdr-white); line-height: 1.5; font-size: var(--tdr-font-sm); }
.tdr-lp .genre-options label:has(input:checked) { border-color: var(--tdr-pink); background: color-mix(in srgb, var(--tdr-ink) 6%, var(--tdr-paper)); color: var(--tdr-pink); }
.tdr-lp .genre-options input { width: 17px; height: 17px; accent-color: var(--tdr-pink); margin: 0; }
.tdr-lp .genre-options.slot-intent, .tdr-lp .genre-options.slot-options { grid-template-columns: minmax(0, 1fr); }
.tdr-lp .genre-options.slot-options { margin: 0 0 4px 26px; }
.tdr-lp .application-stage { background: color-mix(in srgb, var(--tdr-ink) 6%, var(--tdr-paper)); padding: 22px 24px; gap: 12px; }
.tdr-lp .application-stage > p { max-width: none; font-size: var(--tdr-font-sm); margin: 0; }
.tdr-lp .application-stage .application-stage-title { font-size: var(--tdr-font-md); font-weight: 600; }
.tdr-lp .application-stage .form-consent { margin: 0; font-size: var(--tdr-font-md); line-height: 1.85; }
.tdr-lp .requirements { background: color-mix(in srgb, var(--tdr-ink) 6%, var(--tdr-paper)); padding: 20px 24px; margin-block: 26px; }
.tdr-lp .post_content .requirements h4 { margin: 0 0 8px; font-size: var(--tdr-font-md); letter-spacing: 0; }
.tdr-lp .requirements p { color: var(--tdr-muted); max-width: 80ch; font-size: var(--tdr-font-sm); margin: 0; }
.tdr-lp .requirements p + p { margin-top: 8px; }
.tdr-lp .requirements details { margin-top: 12px; }
.tdr-lp .requirements summary { cursor: pointer; font-weight: 600; font-size: var(--tdr-font-sm); }
.tdr-lp .requirements summary::marker { color: var(--tdr-pink); }
.tdr-lp .requirements a, .tdr-lp .form-consent a, .tdr-lp .field small a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.tdr-lp .form-consent { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; margin-top: 26px; font-size: var(--tdr-font-sm); font-weight: 400; }
.tdr-lp .form-consent input { width: 18px; height: 18px; accent-color: var(--tdr-pink); margin: 5px 0 0; }
.tdr-lp .form-consent > span { min-width: 0; }
.tdr-lp .form-actions { margin-top: 24px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; }
.tdr-lp .form-actions > p { color: var(--tdr-muted); font-size: var(--tdr-font-sm); margin: 0; }
.tdr-lp .application .button {
	display: inline-grid;
	grid-template-columns: 1fr 20px;
	align-items: center;
	gap: 28px;
	min-height: 50px;
	min-width: 220px;
	padding: 12px 22px;
	background: var(--tdr-pink);
	border: 1px solid var(--tdr-pink);
	color: var(--tdr-white);
	font-weight: 600;
	font-size: var(--tdr-font-md);
	font-family: inherit;
	cursor: pointer;
	transition: background .2s, transform .2s;
}
.tdr-lp .application .button:hover { background: color-mix(in srgb, var(--tdr-pink) 78%, var(--tdr-stage)); transform: translateY(-2px); }
.tdr-lp .application .button:disabled { opacity: .65; transform: none; cursor: wait; }
.tdr-lp .application .button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.tdr-lp .form-error { color: var(--tdr-pink); padding-top: 16px; font-size: var(--tdr-font-md); }
.tdr-lp .form-error:empty { display: none; }
.tdr-lp .form-error a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }   /* 休止の知らせの「求人一覧」（2026-10-17） */
.tdr-lp .confirm-intro { margin: 24px 0; max-width: none; }
.tdr-lp .review-data { display: grid; gap: 0; margin: 0; }
.tdr-lp .review-data > div { display: grid; grid-template-columns: 170px 1fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--tdr-line); }
.tdr-lp .review-data dt { color: var(--tdr-muted); font-size: var(--tdr-font-sm); font-weight: 400; }
.tdr-lp .review-data dd { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; font-size: var(--tdr-font-md); }
.tdr-lp .preview-submit { background: color-mix(in srgb, var(--tdr-ink) 6%, var(--tdr-paper)); padding: 20px; margin-top: 24px; font-size: var(--tdr-font-sm); }
.tdr-lp .form-edit { background: none; border: 1px solid color-mix(in srgb, var(--tdr-ink) 30%, var(--tdr-paper)); padding: 12px 24px; font-size: var(--tdr-font-md); font-family: inherit; cursor: pointer; color: var(--tdr-ink); }
.tdr-lp .send-feedback { padding: 20px; border: 1px solid var(--tdr-pink); background: color-mix(in srgb, var(--tdr-pink) 4%, var(--tdr-white)); color: var(--tdr-pink); margin-top: 20px; max-width: none; }
.tdr-lp .application [hidden] { display: none !important; }
/* 送れないときに出す完了の画面（土台の completion.js がこの場で作るときだけ） */
.tdr-lp .completion h1 { font-size: var(--tdr-font-lg); line-height: 1.5; margin-top: 14px; }
.tdr-lp .completion-lead { font-size: var(--tdr-font-md); color: var(--tdr-muted); margin-top: 24px; }
.tdr-lp .completion-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 44px; }
.tdr-lp .completion-grid > section { border-top: 1px solid var(--tdr-line); padding-top: 24px; min-width: 0; }
.tdr-lp .completion-actions { display: grid; grid-template-columns: max-content max-content; align-items: center; gap: 30px; margin-top: 44px; }

/* ── 9. 幅ごとの直し（今の本番と同じ切れ目：1100px・900px・600px・360px） ── */
@media (max-width: 1199px) and (min-width: 901px) {
	.tdr-lp .slots-section .takeover { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 1100px) {
	.tdr-lp .wrap, .tdr-lp .hero-scene { width: calc(100% - 112px); }
	.tdr-lp .hero-fv { grid-template-columns: minmax(0, 1fr); grid-template-areas: "left" "right"; gap: 0 32px; }
	.tdr-lp .hero-fv .fv-left, .tdr-lp .hero-fv .fv-right { display: block; min-width: 0; }
	.tdr-lp .hero-fv .fv-left { grid-area: left; }
	.tdr-lp .hero-fv .fv-right { grid-area: right; margin-top: 28px; max-width: 44em; }
	.tdr-lp .photo-controls .gallery-thumbs.is-ready { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.tdr-lp .gallery-thumbs button img { aspect-ratio: 2.4; }
	.tdr-lp .metrics-grid, .tdr-lp .pay-story { gap: 30px; }
	.tdr-lp .metric { grid-template-rows: 60px 28px 72px 90px auto 110px auto auto; }
	.tdr-lp .chart-row { grid-template-columns: 80px minmax(0, 1fr) 110px; gap: 8px; }
	.tdr-lp .selection-steps { gap: 20px; }
	.tdr-lp .genre-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.tdr-lp .wrap, .tdr-lp .hero-scene { width: auto; margin-left: 20px; margin-right: 56px; }   /* 右の36px＝右端の上下移動の帯（rail.css）の場所。本番の main の margin-right:36px と同じ幅 */
	.tdr-lp .section { padding-block: 56px; }
	.tdr-lp .section-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
	.tdr-lp .section-heading .kicker { margin-bottom: 10px; }
	.tdr-lp .section-heading > .wp-block-group__inner-container > p br { display: none; }   /* 本番と同じく説明の段落の改行だけ外す（見出しの改行は残す） */
	.tdr-lp .hero-fv { padding-block: 16px 14px; gap: 0; }
	.tdr-lp .hero-fv .fv-right { margin-top: 0; max-width: none; }
	.tdr-lp .hero-fv h1 { line-height: 1.4; }
	.tdr-lp .fv-claim { margin-top: 8px; }
	.tdr-lp .fv-note { line-height: 1.5; }
	.tdr-lp .hero-fv .fv-foot { padding-top: 6px; }
	.tdr-lp .fv-side-head { padding-top: 16px; }   /* 本番は margin-top。SWELL が「div の最初の子」の上の余白を0に固定するので padding で取る */
	.tdr-lp .fv-side-head .kicker { display: none; }
	.tdr-lp .fv-points { gap: 8px; }
	.tdr-lp .fv-points li, .tdr-lp .fv-rate, .tdr-lp .fv-safe, .tdr-lp .fv-cond, .tdr-lp .fv-jobs, .tdr-lp .rr-safe { gap: 10px; }
	.tdr-lp .fv-points li { line-height: 1.5; }
	.tdr-lp .fv-points li::before, .tdr-lp .fv-safe::before, .tdr-lp .fv-cond::before, .tdr-lp .fv-jobs::before, .tdr-lp .fv-rate::before { margin-top: 0; }
	.tdr-lp .hero-fv .actions { margin-top: 14px; grid-template-columns: max-content max-content; gap: 10px; }
	.tdr-lp .hero-fv .lp-btn a { padding-inline: 12px; white-space: nowrap; min-height: 48px; }
	.tdr-lp .hero-fv .lp-btn a::after { margin-left: 8px; }
	.tdr-lp .fv-btn-long { display: none; }
	.tdr-lp .fv-btn-short { display: inline; }
	.tdr-lp .fv-safe { line-height: 1.5; }
	.tdr-lp .fv-cond { margin-top: 10px; line-height: 1.5; }
	.tdr-lp .fv-jobs { margin-top: 4px; line-height: 1.5; }
	.tdr-lp .fv-ladder { margin-top: 10px; }
	.tdr-lp .fv-ladder li, .tdr-lp .fv-rate li { padding: 6px 6px 6px 0; }
	.tdr-lp .fv-ladder li + li, .tdr-lp .fv-rate li + li { padding-left: 8px; }
	.tdr-lp .fv-ladder li b, .tdr-lp .fv-rate li b, .tdr-lp .fv-ladder li strong, .tdr-lp .fv-rate li strong { font-size: var(--tdr-font-md); }
	.tdr-lp .hero-scene .wp-element-caption { padding-inline: 20px; }
	.tdr-lp .scene-caption-line { grid-template-columns: minmax(0, 1fr); gap: 6px; align-items: end; }
	.tdr-lp .hero-scene .scene-counter { justify-self: end; }
	.tdr-lp .photo-controls .gallery-thumbs.is-ready { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
	.tdr-lp .gallery-thumbs button { padding: 2px; }
	.tdr-lp .gallery-thumbs button img { aspect-ratio: 1; }
	.tdr-lp .photo-label { display: none; }
	.tdr-lp .photo-label-line { grid-template-columns: 1fr; text-align: center; }
	.tdr-lp .gallery-heading { gap: 10px; }
	.tdr-lp .gallery-arrows { grid-template-columns: 36px 36px; gap: 4px; }
	.tdr-lp .gallery-arrows button { width: 36px; height: 36px; }
	.tdr-lp .column-entry { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 36px; padding-top: 24px; }
	.tdr-lp .column-entry-list a { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 12px 0; }
	.tdr-lp .column-entry-more { grid-column: 1; }
	.tdr-lp .takeover-list li { grid-template-columns: max-content minmax(0, 1fr); grid-template-areas: "when where" "what what" "tag tag"; align-items: baseline; gap: 4px 12px; }
	.tdr-lp .takeover-when { grid-area: when; }
	.tdr-lp .takeover-where { grid-area: where; }
	.tdr-lp .takeover-what { grid-area: what; }
	.tdr-lp .takeover-what b { display: inline; }
	.tdr-lp .takeover-tag { grid-area: tag; }
	.tdr-lp .takeover-tag > span { display: inline-block; text-align: left; }
	.tdr-lp .priority-jobs { grid-template-columns: 1fr; gap: 12px; }
	.tdr-lp .priority-jobs article { padding: 18px; }
	.tdr-lp .job-table-head { margin-top: 36px; padding-top: 24px; }
	.tdr-lp .jobs-section .job-table .lp-dl-row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
	.tdr-lp .real-rate { margin-top: 36px; padding-top: 24px; }
	.tdr-lp .rr-body { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.tdr-lp .rr-legend .lp-dl-row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.tdr-lp .show-commitment { padding: 20px 18px; }
	.tdr-lp .post_content .show-commitment h3 { font-size: var(--tdr-font-md); }
	.tdr-lp .show-commitment strong { overflow-wrap: anywhere; }
	.tdr-lp .show-pay-intro { grid-template-columns: minmax(0, 1fr); gap: 22px; }
	.tdr-lp .show-pay-list .lp-dl-row { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 20px 0; }
	.tdr-lp .show-pay-example .keep + .keep { margin-left: 0; }
	.tdr-lp .job-start { grid-template-columns: 1fr; gap: 18px; margin-top: 26px; }
	.tdr-lp .job-start .lp-btn a { display: block; position: relative; padding-right: 54px; }   /* 本番と同じく横いっぱいの釦。矢印は右端 */
	.tdr-lp .job-start .lp-btn a::after { position: absolute; right: 22px; top: 50%; margin: -10px 0 0; vertical-align: 0; }
	.tdr-lp .job-start .lp-btn a, .tdr-lp .staff-body .lp-btn a { padding-inline: 12px; }
	.tdr-lp .job-start .lp-btn a::after, .tdr-lp .staff-body .lp-btn a::after { margin-left: 12px; }
	.tdr-lp .staff-details { margin-top: 28px; }
	.tdr-lp .staff-details > summary { padding: 18px 17px; gap: 12px; }
	.tdr-lp .staff-heading { grid-template-columns: minmax(0, 1fr); gap: 4px; }
	.tdr-lp .staff-body { padding: 14px 17px 20px; }
	.tdr-lp .staff-body .job-facts .lp-dl-row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
	.tdr-lp .staff-body .fact-detail { display: block; margin: 4px 0 0; }
	.tdr-lp .campuses { grid-template-columns: 1fr; gap: 28px; }
	.tdr-lp .campus-photos { gap: 12px; }
	.tdr-lp .hirama { grid-column: auto; margin-top: 0; }
	.tdr-lp .hirama-rooms { gap: 12px; }
	.tdr-lp .hirama-amenities { grid-template-columns: 1fr 1fr; gap: 14px 12px; margin-top: 14px; }
	.tdr-lp .hirama-amenities figure:nth-child(3), .tdr-lp .hirama-amenities figure:nth-child(4) { grid-column: auto; }
	.tdr-lp .practice-panel { grid-template-columns: 1fr; padding: 24px 20px; gap: 26px; margin-top: 30px; }
	.tdr-lp .post_content .practice-panel h3 { line-height: 1.6; }
	.tdr-lp .practice-times { gap: 14px; }
	.tdr-lp .philosophy-intro { grid-template-columns: minmax(0, 1fr); gap: 22px; }
	.tdr-lp .philosophy-copy { padding-top: 0; gap: 16px; }
	.tdr-lp .standards-grid { grid-template-columns: 1fr; gap: 24px; }
	.tdr-lp .standards-grid article { padding-top: 18px; }
	.tdr-lp .standards-grid h3 { margin-block: 10px; }
	.tdr-lp .plain-detail { padding: 14px 18px; }
	.tdr-lp .contract-detail-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.tdr-lp .metrics-grid { grid-template-columns: 1fr; gap: 36px; }
	.tdr-lp .metric { grid-template-rows: auto auto auto auto auto auto auto auto; padding-top: 20px; }
	.tdr-lp .metric h3 { margin-bottom: 6px; }
	.tdr-lp .metric-number { margin-block: 4px 12px; }
	.tdr-lp .metric-summary { margin-bottom: 14px; }
	.tdr-lp .metric .keep { display: inline; }
	.tdr-lp .metric-summary br, .tdr-lp .forecast p br, .tdr-lp .chart-note br, .tdr-lp .selection-caption br, .tdr-lp .style-work br { display: none; }
	.tdr-lp .chart-row { grid-template-columns: 77px minmax(0, 1fr) 109px; gap: 8px; height: 43px; }
	.tdr-lp .bar-track { height: 17px; }
	.tdr-lp .chart-note { margin-bottom: 20px; }
	.tdr-lp .forecast { padding: 18px 20px; gap: 8px; }
	.tdr-lp .data-detail { margin-top: 10px; }
	.tdr-lp .pay-story { grid-template-columns: 1fr; gap: 24px; margin-top: 36px; }
	.tdr-lp .pay-example { padding: 22px 18px; }
	.tdr-lp .pay-change { grid-template-columns: 1fr; gap: 6px; }
	.tdr-lp .pay-change .is-span { display: none; }
	.tdr-lp .pay-change small { display: inline; margin-left: 5px; }
	.tdr-lp .pay-more { grid-template-columns: 1fr; gap: 10px; }
	.tdr-lp .pay-more strong { font-size: var(--tdr-font-md); }
	.tdr-lp .commission-note { padding: 16px 18px; }
	.tdr-lp .growth-meaning { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.tdr-lp .journey-grid { grid-template-columns: 1fr 1fr; row-gap: 32px; column-gap: 16px; }
	.tdr-lp .journey-item:first-child, .tdr-lp .journey-item:last-child { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.tdr-lp .post_content .journey-item:first-child h3, .tdr-lp .post_content .journey-item:last-child h3 { margin-block: 10px; }
	.tdr-lp .journey-meta { grid-template-columns: 1fr; gap: 3px; }
	.tdr-lp .journey-item:first-child .journey-meta, .tdr-lp .journey-item:last-child .journey-meta { grid-template-columns: auto 1fr; gap: 12px; }
	.tdr-lp .journey-item p { line-height: 1.8; }
	.tdr-lp .journey-photo { min-width: 0; }
	.tdr-lp .stage-invite { grid-template-columns: 1fr; gap: 20px; margin-top: 32px; align-items: start; }
	.tdr-lp .selection-steps { grid-template-columns: 1fr; gap: 20px; }
	.tdr-lp .selection-steps .lp-li { grid-template-columns: 26px 1fr; grid-template-rows: auto auto auto; gap: 8px 12px; padding-top: 18px; }
	.tdr-lp .selection-steps .lp-li .is-span { grid-row: 1 / 4; }
	.tdr-lp .selection-steps .lp-li > .wp-block-group__inner-container > :not(.is-span) { grid-column: 2; }
	.tdr-lp #application-mount { margin-top: 26px; }
	.tdr-lp .application { padding: 24px 18px; }
	.tdr-lp .form-top { grid-template-columns: 1fr; gap: 16px; margin-bottom: 22px; }
	.tdr-lp .form-grid { grid-template-columns: 1fr; gap: 20px; }
	.tdr-lp .field.full { grid-column: auto; }
	.tdr-lp .field input:not([type=checkbox]):not([type=radio]), .tdr-lp .field select, .tdr-lp .field textarea { padding: 11px 12px; }
	.tdr-lp .genre-options { grid-template-columns: 1fr; gap: 8px; }
	.tdr-lp .genre-options label { padding: 12px 8px; gap: 7px; grid-template-columns: 16px 1fr; }
	.tdr-lp .genre-options input { width: 15px; height: 15px; }
	.tdr-lp .genre-options.slot-options { margin-left: 0; }
	.tdr-lp .application-stage { padding: 0; background: transparent; }
	.tdr-lp .application-stage .form-consent { font-size: var(--tdr-font-sm); font-weight: 400; }
	.tdr-lp .application .requirements { padding: 20px 0; background: transparent; border-top: 1px solid var(--tdr-line); margin-block: 22px; }
	.tdr-lp .form-actions { grid-template-columns: 1fr; gap: 16px; }
	.tdr-lp .form-actions .button { width: 100%; }
	.tdr-lp .review-data > div { grid-template-columns: 1fr; gap: 6px; padding: 14px 0; }
	.tdr-lp .preview-submit { padding: 16px; }
	.tdr-lp .completion-grid { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 700px) {
	.tdr-lp .post_content .free-table,
	.tdr-lp .post_content .free-table tbody,
	.tdr-lp .post_content .free-table tr,
	.tdr-lp .post_content .free-table th,
	.tdr-lp .post_content .free-table td { display: block; }
	.tdr-lp .post_content .free-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.tdr-lp .post_content .free-table tbody tr { padding: 10px 0; border-bottom: 1px solid var(--tdr-line); }
	.tdr-lp .post_content .free-table tbody th { padding: 0 0 4px; border: 0; }
	.tdr-lp .post_content .free-table td { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 16px; padding: 4px 0; border: 0; }
	.tdr-lp .post_content .free-table td::before { content: attr(data-studio); grid-column: 1; grid-row: 1 / span 4; font-size: var(--tdr-font-sm); color: var(--tdr-muted); line-height: 1.5; white-space: pre-line; padding-top: 3px; }
	.tdr-lp .post_content .free-table td .free-slot { grid-column: 2; }
	.tdr-lp .post_content .free-table td.is-empty { display: none; }
	.tdr-lp .post_content .free-table td.free-none-row { display: block; color: var(--tdr-muted); font-size: var(--tdr-font-sm); }
	.tdr-lp .post_content .free-table td.free-none-row::before { content: none; }
}
@media (max-width: 600px) {
	.tdr-lp .free-times-head h3 .takeover-zero { display: table; margin: 6px 0 0; }   /* 本番と同じく、狭い幅では札を題の下へ（「コマ」だけの行を作らない） */
	.tdr-lp .journey-grid { grid-template-columns: minmax(0, 1fr); }
	.tdr-lp .journey-item:first-child, .tdr-lp .journey-item:last-child { gap: 18px; }
	.tdr-lp .journey-item p { font-size: var(--tdr-font-md); }
	.tdr-lp .journey-item img { aspect-ratio: 3 / 2; }
	.tdr-lp .journey-caption { padding-top: 12px; }
	.tdr-lp .free-times { margin-top: 32px; padding-top: 24px; }
	.tdr-lp .practice-panel h3 br { display: none; }
	.tdr-lp .application-steps { gap: 10px; width: 100%; }
	.tdr-lp .completion-actions { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 360px) {
	.tdr-lp .hero-fv .actions { grid-template-columns: minmax(0, 1fr); }
	.tdr-lp .hero-fv .lp-btn a { padding-inline: 8px; }
	.tdr-lp .gallery-heading { grid-template-columns: 1fr; gap: 8px; }
	.tdr-lp .gallery-arrows { justify-content: start; }
	.tdr-lp .chart-row { grid-template-columns: 75px minmax(0, 1fr) 100px; gap: 5px; }
	.tdr-lp .pay-example { padding-inline: 12px; }
	.tdr-lp .pay-more { grid-template-columns: 1fr; gap: 8px; }
	.tdr-lp .priority-jobs article { padding: 14px; }
	.tdr-lp .application { padding-inline: 14px; }
}
@media (min-width: 901px) {
	.tdr-lp .journey-grid > .wp-block-group__inner-container > .journey-item:nth-child(3),
	.tdr-lp .journey-grid > .wp-block-group__inner-container > .journey-item:nth-child(6) { margin-top: 32px; }
	.tdr-lp .journey-grid > .wp-block-group__inner-container > .journey-item:nth-child(4),
	.tdr-lp .journey-grid > .wp-block-group__inner-container > .journey-item:nth-child(7) { margin-top: 64px; }
}
/* 現れる動き（V9.6 と同じ。印は lp.js の 5）が付ける。JS が動かないときは初めから出したまま） */
.tdr-lp .reveal { opacity: 1; transform: none; }
.tdr-lp.motion-enabled .reveal { transition: opacity .45s ease, transform .45s ease; }
.tdr-lp.motion-enabled .reveal:not(.in-view) { opacity: 0; transform: translateY(12px); }
@media (prefers-reduced-motion: reduce) {
	.tdr-lp .lp-btn a, .tdr-lp .hero-scene img { transition: none; }
	.tdr-lp.motion-enabled .reveal:not(.in-view) { opacity: 1; transform: none; }
}
