.operator-page { background: #f7f6ee; }
.operator-main { max-width: 960px; padding-bottom: 64px; }
.operator-breadcrumb { display: flex; flex-wrap: wrap; gap: 14px; padding-top: 24px; font-size: 13px; color: var(--muted); }
.operator-breadcrumb a, .operator-back { text-decoration: underline; text-underline-offset: 5px; }
.operator-heading { padding: 56px 0 40px; }
.operator-heading h1 { margin: 18px 0 22px; font-size: clamp(32px, 5vw, 48px); font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; font-weight: 500; letter-spacing: .08em; }
.operator-heading > p:last-child { line-height: 1.9; color: var(--muted); }
.operator-card { padding: 40px 48px; background: #fffef8; border: 1px solid var(--line); border-radius: 3px; }
.operator-card h2, .operator-contact h2 { font-size: 21px; font-weight: 600; }
.operator-details { margin: 24px 0 0; }
.operator-details > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; padding: 23px 0; border-bottom: 1px solid var(--line); line-height: 1.9; }
.operator-details dt { font-weight: 600; }
.operator-details dd { margin: 0; overflow-wrap: anywhere; }
.operator-details a, .operator-source a { text-decoration: underline; text-underline-offset: 4px; }
.operator-source { margin-top: 24px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.operator-contact { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 38px 0; }
.operator-contact p { margin-top: 12px; font-size: 14px; line-height: 1.9; color: var(--muted); }
.operator-contact .button { flex-shrink: 0; }
.operator-back { display: inline-block; font-size: 14px; }
.operator-footer { border-top: 1px solid var(--line); padding-block: 30px; display: flex; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 13px; }
@media (max-width: 700px) {
    .operator-page .wrap { width: calc(100% - 40px); }
    .operator-page .site-header { height: 88px; gap: 16px; }
    .operator-page .brand-logo { width: 150px; }
    .operator-page .nav-login { padding: 10px 12px; gap: 8px; font-size: 13px; }
    .operator-heading { padding-top: 36px; }
    .operator-card { padding: 28px 22px; }
    .operator-details > div { grid-template-columns: minmax(0, 1fr); gap: 7px; padding: 19px 0; font-size: 14px; }
    .operator-details dt { color: var(--muted); font-size: 12px; }
    .operator-contact { align-items: flex-start; flex-direction: column; }
    .operator-contact .button { width: 100%; font-size: 14px; }
    .operator-footer { flex-direction: column; gap: 12px; }
}
