/* 会社概要ページ（/company/）: 会社情報の表と沿革の年表 */
.p-company__inner { max-width: 60rem; margin: 0 auto; padding: 0 1.25rem; }
.p-company .c-home__h2 { margin-bottom: 3.5rem; }

/* ---- 会社情報（ブロックエディターの表をカード風に整える） ---- */
.p-company__table { background: #fff; border-radius: 1.25rem; box-shadow: 0 0 1.25rem rgba(37, 71, 121, .12); padding: 1.5rem 3rem; }
.p-company__table .wp-block-table { margin: 0; overflow: visible; }
.p-company__table table { width: 100%; border-collapse: collapse; border: 0; table-layout: fixed; }
.p-company__table tr { border-bottom: 1px dashed #b9dfe8; }
.p-company__table tr:last-child { border-bottom: 0; }
.p-company__table td, .p-company__table th { --ark-padding--cell: 1.25rem .75rem; word-break: normal; overflow-wrap: anywhere; border: 0; font-size: 1rem; line-height: 1.9; vertical-align: top; background: none; text-align: left; }
.p-company__table td:first-child, .p-company__table th:first-child { width: 12rem; color: #254779; font-weight: 700; white-space: nowrap; }
.p-company__table td:first-child::before, .p-company__table th:first-child::before { content: ""; display: inline-block; vertical-align: middle; width: .625rem; height: .625rem; margin: -.15em .75rem 0 0; border-radius: 50%; background: #00b3d1; }
.p-company__table td:first-child strong { font-weight: 700; }

/* ---- 沿革（年表） ---- */
.p-company__notice { background: #fff8e5; border: 1px solid #f0c36d; border-radius: .625rem; padding: .875rem 1.25rem; font-size: .875rem; line-height: 1.8; margin: -1.5rem 0 2.5rem; }
.p-company__timeline { position: relative; margin: 0; padding: 0; }
.p-company__timeline::before { content: ""; position: absolute; left: 8.5rem; top: 1.25rem; bottom: 1.25rem; width: .1875rem; border-radius: 1rem; background: #00b3d1; opacity: .35; }
.p-company__timeline-item { display: grid; grid-template-columns: 8.5rem 1fr; align-items: start; position: relative; padding-bottom: 1rem; }
.p-company__timeline-item--year:not(:first-child) { margin-top: 1.75rem; }
.p-company__timeline-item::before { content: ""; position: absolute; left: calc(8.5rem - .3125rem); top: 1.4rem; width: .8125rem; height: .8125rem; border-radius: 50%; background: #fff; border: .1875rem solid #00b3d1; box-sizing: border-box; z-index: 1; }
.p-company__timeline-item--year::before { left: calc(8.5rem - .5rem); top: 1.2rem; width: 1.1875rem; height: 1.1875rem; background: #00b3d1; border-color: #fff; box-shadow: 0 0 0 .1875rem rgba(0, 179, 209, .25); }
.p-company__timeline-date { padding-top: .55rem; }
.p-company__timeline-year { display: inline-block; font-size: 2.25rem; font-weight: 700; line-height: 1; color: #254779; letter-spacing: .02em; }
.p-company__timeline-card { margin-left: 2.25rem; background: #fff; border-radius: .9375rem; box-shadow: 0 0 .9375rem rgba(37, 71, 121, .1); padding: 1.125rem 1.5rem; display: flex; align-items: baseline; gap: 1.25rem; }
.p-company__timeline-month { flex: 0 0 auto; min-width: 3.75rem; text-align: center; background: #00b3d1; color: #fff; font-weight: 700; font-size: .875rem; line-height: 1; padding: .4375rem .75rem; border-radius: 100vw; }
.p-company__timeline-text { margin: 0; font-size: 1rem; line-height: 1.8; }

/* ---- 採用情報バナー ---- */
.p-company__profile { padding-bottom: 4.5rem; }
.p-company__recruit { padding-bottom: 7.5rem; }
.p-company__recruit-banner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2rem; overflow: hidden; padding: 3rem 3.5rem; border-radius: 1.25rem; background: linear-gradient(120deg, #254779 0%, #1f6fa3 55%, #00b3d1 100%); color: #fff; text-decoration: none; box-shadow: 0 .625rem 1.875rem rgba(37, 71, 121, .25); transition: transform .25s ease, box-shadow .25s ease; }
.p-company__recruit-banner::before, .p-company__recruit-banner::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255, 255, 255, .1); pointer-events: none; }
.p-company__recruit-banner::before { width: 16rem; height: 16rem; right: -4rem; top: -7rem; }
.p-company__recruit-banner::after { width: 9rem; height: 9rem; right: 11rem; bottom: -5.5rem; }
.p-company__recruit-banner:hover { transform: translateY(-.25rem); box-shadow: 0 1rem 2.25rem rgba(37, 71, 121, .32); color: #fff; }
.p-company__recruit-text { position: relative; z-index: 1; }
.p-company__recruit-eng { font-size: 1rem; font-weight: 700; letter-spacing: .12em; color: #face42; line-height: 1; margin-bottom: .75rem; }
.p-company__recruit-title { font-size: 2rem; font-weight: 700; line-height: 1.3; margin: 0 0 .75rem; color: #fff; }
.p-company__recruit-p { margin: 0; font-size: 1rem; line-height: 1.8; }
.p-company__recruit-btn { position: relative; z-index: 1; flex: 0 0 auto; display: inline-flex; align-items: center; gap: .75rem; background: #face42; color: #254779; font-weight: 700; font-size: 1rem; line-height: 1; padding: 1.25rem 2rem; border-radius: 100vw; }
.p-company__recruit-arrow { width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #254779; position: relative; transition: transform .25s ease; }
.p-company__recruit-arrow::before { content: ""; position: absolute; left: 50%; top: 50%; width: .375rem; height: .375rem; border-top: .125rem solid #face42; border-right: .125rem solid #face42; transform: translate(-65%, -50%) rotate(45deg); }
.p-company__recruit-banner:hover .p-company__recruit-arrow { transform: translateX(.25rem); }

@media (max-width: 767px) {
	.p-company .c-home__h2 { margin-bottom: 2rem; }
	.p-company__table { padding: .5rem 1.25rem; border-radius: .9375rem; }
	.p-company__table table, .p-company__table tbody, .p-company__table tr, .p-company__table td, .p-company__table th { display: block; width: 100%; }
	.p-company__table tr { padding: .875rem 0; }
	.p-company__table td, .p-company__table th { --ark-padding--cell: 0; font-size: .9375rem; line-height: 1.7; }
	.p-company__table td:first-child, .p-company__table th:first-child { width: 100%; margin-bottom: .25rem; }
	.p-company__table td:first-child::before, .p-company__table th:first-child::before { width: .5rem; height: .5rem; margin-right: .5rem; }
	.p-company__notice { margin: -.5rem 0 1.75rem; }
	.p-company__timeline::before { left: .375rem; }
	.p-company__timeline-item { display: block; padding-left: 1.75rem; padding-bottom: .75rem; }
	.p-company__timeline-item::before { left: 0; top: 1.25rem; }
	.p-company__timeline-item--year::before { left: -.1875rem; top: .5rem; }
	.p-company__timeline-date { padding-top: 0; }
	.p-company__timeline-year { font-size: 1.75rem; margin-bottom: .625rem; }
	.p-company__timeline-card { margin-left: 0; padding: .875rem 1rem; gap: .75rem; flex-direction: column; align-items: flex-start; }
	.p-company__timeline-text { font-size: .9375rem; }
	.p-company__profile { padding-bottom: 2.5rem; }
	.p-company__recruit { padding-bottom: 3.75rem; }
	.p-company__recruit-banner { flex-direction: column; align-items: flex-start; gap: 1.5rem; padding: 2rem 1.5rem; border-radius: .9375rem; }
	.p-company__recruit-banner::before { width: 11rem; height: 11rem; right: -3.5rem; top: -4.5rem; }
	.p-company__recruit-banner::after { right: -2rem; bottom: -4rem; }
	.p-company__recruit-title { font-size: 1.5rem; }
	.p-company__recruit-p { font-size: .9375rem; }
	.p-company__recruit-btn { align-self: stretch; justify-content: center; padding: 1.125rem 1.5rem; }
}
