/* Information page */
.info-hero { padding: 78px 0 70px; background: var(--top-paper); border-bottom: 1px solid #e6edf3; }
.info-hero-inner { max-width: 880px; }
.info-hero h1 { margin-bottom: 18px; color: var(--top-ink); font-size: clamp(34px,4vw,54px); font-weight: 900; letter-spacing: -.055em; line-height: 1.35; }
.info-hero p:last-child { max-width: 720px; margin: 0; color: #40576d; font-size: 16px; font-weight: 700; line-height: 2; }

.info-section { padding: 76px 0 88px; background: #fff; }
.info-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 56px; align-items: start; }
.info-heading h2 { margin: 0 0 14px; color: var(--top-ink); font-size: clamp(28px,3.2vw,42px); letter-spacing: -.055em; line-height: 1.45; }
.info-heading p { margin: 0; color: #516578; font-size: 15px; line-height: 2; }
.info-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--top-line); }
.info-table th,.info-table td { padding: 20px 0; border-bottom: 1px solid var(--top-line); text-align: left; vertical-align: top; line-height: 1.8; }
.info-table th { width: 170px; color: var(--top-ink); font-size: 14px; font-weight: 900; }
.info-table td { color: #40576d; font-size: 15px; }
.info-table a { color: var(--top-blue); font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }

.info-note { padding: 72px 0; background: var(--top-paper); }
.info-note-box { padding: 38px 44px; background: #fff; border-left: 6px solid var(--top-sky); box-shadow: 0 16px 30px rgba(11,37,69,.08); }
.info-note-box h2 { margin: 0 0 12px; color: var(--top-ink); font-size: clamp(24px,2.8vw,34px); letter-spacing: -.045em; line-height: 1.45; }
.info-note-box p { margin: 0; color: #516578; font-size: 15px; line-height: 2; }
.info-contact-link { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 50px; margin-top: 22px; padding: 10px 20px; background: var(--top-blue); color: #fff; border-radius: 4px; font-size: 14px; font-weight: 900; box-shadow: 0 4px 0 #08386f; }
.info-contact-link:hover { transform: translateY(-2px); }

@media (max-width: 900px) {
	.info-layout { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 640px) {
	.info-hero { padding: 58px 0; }
	.info-section { padding: 58px 0 64px; }
	.info-table th,.info-table td { display: block; width: 100%; padding: 14px 0; }
	.info-table th { padding-bottom: 0; border-bottom: 0; }
	.info-note { padding: 56px 0; }
	.info-note-box { padding: 30px 24px; }
}
