/* =============================================================================
   下層ページ共通: page-header / breadcrumb / 見出し / 区切り線 / 会社情報テーブル
   数値は XD(260905 PC_company / PC_about, 1366) の 1/10 rem。site-header(8.6rem, 非overlay) の直後に置く前提。
   ========================================================================== */

/* ---- reset (style.css の reset に無い要素) ---- */
ol, dl, dt, dd, h4 { margin: 0; padding: 0; }
ol { list-style: none; }
h4 { font-size: inherit; font-weight: inherit; }

/* ---- page header (ページMV) ---- */
.page-header {
	position: relative;
	padding: 11.35rem 5rem 0; /* ●ラベルの行ボックス上端 y=199.5 (=86+113.5) */
}
/* 背景装飾の入れ物: グロー2種 + 綱。z-index:-1 で本文の下・body背景の上。横はみ出しはここで遮断 */
.page-header__bg { position: absolute; left: 0; right: 0; top: 0; height: 80rem; overflow: hidden; z-index: -1; pointer-events: none; }
.page-header__glow {
	position: absolute; left: 8.9rem; top: 16.6rem; width: 63rem; height: 63rem; /* パス 312541: 89,252 630x630 */
	border-radius: 50%; pointer-events: none;
	background: radial-gradient(closest-side, rgba(1, 125, 126, .2) 0%, rgba(1, 125, 126, 0) 100%);
}
.page-header__glow--yellow {
	left: 65.5rem; top: -18.1rem; width: 59.1rem; height: 59.1rem; /* パス 333108: 655,-95 591x591 (site-header 86 分を引く) */
	background: radial-gradient(closest-side, rgba(255, 199, 58, .2) 0%, rgba(255, 199, 58, 0) 100%);
}
.page-header__rope {
	position: absolute; left: 0; top: 25.772rem; width: 100%; height: 18.262rem; overflow: hidden; /* 横はみ出し(scrollWidth 1393)を遮断 */
	pointer-events: none;
}
.page-header__rope img { position: absolute; left: -2.731rem; top: 0; width: 142.049rem; height: 18.262rem; max-width: none; } /* グループ 85968: -27.31,343.72 1420×183 */
.sp-br { display: none; }
.pc-br { display: inline; }
.page-header__inner { position: relative; }
.page-header__en { position: relative; padding-left: 0; }
.page-header__title {
	margin-top: 5.23rem; /* ラベル行ボックス下端 224.5 → タイトル上端 277 */
	font-size: 6rem; font-weight: 700; line-height: 1; letter-spacing: 0;
}
.page-header__title--svg { line-height: 0; }
.page-header__title-img { height: 6.1rem; width: auto; }
.page-header--company .page-header__title-img { width: 27.113rem; height: 6.06rem; }
.page-header--about .page-header__title-img { width: 54.18rem; height: 6.159rem; }
.page-header--job .page-header__title-img { width: 27.931rem; height: 6.131rem; } /* グループ 85972: 50,276.44 279.31×61.31 */
.page-header--recruit .page-header__title-img { width: 27.382rem; height: 6.186rem; } /* グループ 85973 */
.page-header--news .page-header__title-img { width: 25.986rem; height: 6.321rem; } /* グループ 85976 */
.page-header--privacy .page-header__title-img { width: 57.136rem; height: 5.92rem; } /* グループ 85978 */
.page-header--contact .page-header__title-img { width: 37.843rem; height: 6.025rem; } /* グループ 85980 (confirm/thanks 共通) */
.page-header--404 .page-header__title-img { width: 42.268rem; height: 5.084rem; } /* グループ 85982 */

/* ---- breadcrumb ---- */
.breadcrumb { margin-top: 5rem; } /* タイトル下端 337.4 → 行ボックス上端 387.5 */
.breadcrumb__list { display: flex; align-items: center; flex-wrap: wrap; }
.breadcrumb__item {
	display: flex; align-items: center;
	font-size: 1.4rem; line-height: 3.5rem; font-weight: 400; color: var(--c-text);
}
.breadcrumb__item:first-child { min-width: 3.6rem; } /* TOP(x=50) → 斜線(x=86) */
.breadcrumb__item + .breadcrumb__item::before {
	content: ""; display: block; flex: none; width: 1rem; height: 1rem; margin-right: 1rem; /* 線 10: 86,400 10x10 (10,0)→(0,10) #212121 */
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cline x1='10' y1='0' x2='0' y2='10' stroke='%23212121' stroke-width='1'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
.breadcrumb__item + .breadcrumb__item { margin-left: 0; }
.breadcrumb__link { transition: opacity .3s var(--ease); }
.breadcrumb__link:hover { opacity: .7; }
.breadcrumb__current { color: var(--c-dot); display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.breadcrumb__item:last-child { min-width: 0; overflow: hidden; } /* 長いタイトルでも右にはみ出さない(…省略) */

/* ---- 共通見出し(● + 40px) ---- */
.lower-heading {
	display: flex; align-items: center; gap: 2rem;
	font-size: 4rem; font-weight: 700; line-height: 4rem; color: var(--c-text);
}
.lower-heading__dot { flex: none; width: 2rem; height: 2rem; border-radius: 50%; background: var(--c-teal); }

/* ---- 区切り線(x=50→1316, #cecece) ---- */
.lower-section { position: relative; }
.lower-section--line::after {
	content: ""; position: absolute; left: 5rem; right: 5rem; bottom: 0; height: 1px; background: var(--c-line);
}

/* ---- 共通ボタン(中央) ---- */
.lower-btn-row { display: flex; justify-content: center; }

/* ---- 会社情報テーブル(グループ 31624) ----
   行: ラベル(x=113, lh60) / 値(x=343)。線 #212121 1px。
   値の行送りが XD で 30(りょう) と 35(Noto) の2種 → --n(35)。行高 76 / 84。 */
.info-table { margin-top: 3.6rem; border-bottom: 1px solid var(--c-text); }
.info-table__row {
	display: grid; grid-template-columns: 23rem 1fr;
	padding: .8rem 0 .7rem 6.3rem; /* 行高 76 = 上線1 + 8 + 60 + 7 */
	border-top: 1px solid var(--c-text);
}
.info-table__row:first-child { border-top: 0; padding-bottom: .8rem; }
.info-table__label { font-size: 1.6rem; font-weight: 700; line-height: 6rem; align-self: start; }
.info-table__value { font-size: 1.6rem; font-weight: 400; line-height: 3rem; padding: 1.5rem 0; align-self: start; }
.info-table__row--n { padding-top: 1.2rem; padding-bottom: 1.1rem; } /* 行高 84 */
.info-table__row--n .info-table__value { line-height: 3.5rem; padding: 1.25rem 0; }

/* =============================================================================
   SP (375基準): XD の SP アートボードは空のため PC 設計からの展開
   ========================================================================== */
@media (max-width: 767px) {
	/* XD SP(260915 <page>_sp): 下層は全ページ共通で ノイズ(マスクグループ70: 1056x148タイル, クリップ 0→667) +
	   グロー2種(パス342625 黄 142,0 317 / パス342641 青緑 -84,275 350) + 綱(グループ86159 -89.71,218.53 585.49x75.27)。
	   ノイズは1画面目だけ(XD)なので body 全面ノイズは下層SPで切り、ヘッダー背景に持たせる */
	body { background-image: none; }
	.page-header { padding: 9.45rem 1.5rem 0; } /* eyebrow 行ボックス上端 y=94.5 (COMPANY y101 lh25) */
	.page-header__bg {
		height: 66.7rem;
		background: url("../img/noise.webp") repeat -.3rem 0 / 105.6rem 14.8rem;
	}
	.page-header__glow { left: -8.4rem; top: 27.5rem; width: 35rem; height: 35rem; }
	.page-header__glow--yellow { left: 14.2rem; top: 0; width: 31.7rem; height: 31.7rem; }
	.page-header__rope { top: 21.853rem; height: 7.527rem; }
	.page-header__rope img { left: -8.971rem; width: 58.549rem; height: 7.527rem; }
	.page-header__title { margin-top: 1.45rem; font-size: 3.2rem; } /* ラベル行ボックス下端 119.5 → タイトル 134 */
	.page-header__title-img { height: 3.6rem; }
	.page-header--company .page-header__title-img { width: 16rem; height: 3.6rem; } /* グループ 85952: 15,134 160x36 */
	.page-header--about .page-header__title-img { width: 31.4rem; height: 3.6rem; } /* グループ 85975: 15,134 314x36 */
	.page-header--job .page-header__title-img { width: 16.29rem; height: 3.57rem; } /* グループ 85972: 15,133.8 162.9×35.7 */
	.page-header--recruit .page-header__title-img { width: 15.82rem; height: 3.57rem; }
	.page-header--news .page-header__title-img { width: 15.66rem; height: 3.81rem; }
	.page-header--privacy .page-header__title-img { width: 34.5rem; height: 3.58rem; }
	.page-header--contact .page-header__title-img { width: 22.45rem; height: 3.58rem; }
	.page-header--404 .page-header__title-img { width: 27.53rem; height: 3.31rem; }
	.breadcrumb { margin-top: 2.35rem; } /* タイトル下端 170 → 行ボックス 193.5 */
	.breadcrumb__item { font-size: 1.2rem; line-height: 3.5rem; } /* XD 12px lh35 */

	.lower-heading { gap: 1rem; font-size: 2.4rem; line-height: 3.5rem; } /* XD SP 見出し24px lh35、● 10px x15 → 文字 x35 */
	.lower-heading__dot { width: 1rem; height: 1rem; }
	.lower-section--line::after { left: 0; right: 0; } /* XD SP 区切り線は全幅(線 567: 0,1436 375) */
	.sp-br { display: inline; }
	.pc-br { display: none; }

	.info-table { margin-top: 2.4rem; }
	.info-table__row { grid-template-columns: 1fr; padding: 0 0 .6rem; } /* XD ラベルlh60が行高を作る */
	.info-table__label { line-height: 6rem; font-size: 1.6rem; } /* XD ラベル16px lh60 */
	.info-table__value { line-height: 3rem; font-size: 1.4rem; padding: 0; } /* XD 値14px lh30 */
	.info-table__row--n { padding: 0 0 .6rem; }
	.info-table__row--n .info-table__value { line-height: 3rem; padding: 0; }
}

/* =============================================================================
   下層ページの動き (2026-09-19 駒澤さん要望: MV/綱/イラストに動きを)。no-fx / reduced-motion では無効
   ========================================================================== */
@keyframes tkRiseIn { to { opacity: 1; transform: none; } }
@keyframes tkWipeIn { to { clip-path: inset(-10% -10% -10% -10%); } }
@keyframes tkFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1.2rem); } }
body:not(.no-fx) .page-header__inner > * { opacity: 0; transform: translateY(1.6rem); animation: tkRiseIn .8s cubic-bezier(.22, .61, .36, 1) forwards; }
body:not(.no-fx) .page-header__inner > :nth-child(2) { animation-delay: .12s; }
body:not(.no-fx) .page-header__inner > :nth-child(3) { animation-delay: .24s; }
body:not(.no-fx) .page-header__inner > :nth-child(n+4) { animation-delay: .36s; }
.js-rope { will-change: clip-path; }
@media (prefers-reduced-motion: reduce) {
	.page-header__inner > * { opacity: 1 !important; transform: none !important; animation: none !important; }
}
